/**
  * 
  * @param MString $fieldName
  * @param MXMLManagedObjectViewDataProvider $dataProvider
  * 
  * @return void
  */
 public function addDynamicField(MString $fieldName, MXMLManagedObjectViewDataProvider $dataProvider)
 {
     $this->dynamicFields->setObjectForKey($fieldName, $dataProvider);
     $dataType = $dataProvider->dataTypeForFieldWithName($this->managedObject(), $fieldName);
     $data = $dataProvider->dataForFieldWithName($this->managedObject(), $fieldName);
     $fieldElement = new MXMLElementView($fieldName, $data ? $data->toString() : S(""));
     $fieldElement->setValueForProperty(S("type"), $dataType);
     $this->addSubview($fieldElement);
     $this->dynamicFieldViews->setObjectForKey($fieldName, $fieldElement);
 }