/**
  * creates dependent records after creating the parent record
  *
  * @param Tinebase_Record_Interface $_createdRecord
  * @param Tinebase_Record_Interface $_record
  * @param string $_property
  * @param array $_fieldConfig
  */
 protected function _createDependentRecords(Tinebase_Record_Interface $_createdRecord, Tinebase_Record_Interface $_record, $_property, $_fieldConfig)
 {
     if (!(isset($_fieldConfig['dependentRecords']) || array_key_exists('dependentRecords', $_fieldConfig)) || !$_fieldConfig['dependentRecords']) {
         return;
     }
     if ($_record->has($_property) && $_record->{$_property}) {
         $recordClassName = $_fieldConfig['recordClassName'];
         $new = new Tinebase_Record_RecordSet($recordClassName);
         $ccn = $_fieldConfig['controllerClassName'];
         $controller = $ccn::getInstance();
         // legacy - should be already done in frontend json - remove if all record properties are record sets before getting to controller
         if (is_array($_record->{$_property})) {
             $rs = new Tinebase_Record_RecordSet($recordClassName);
             foreach ($_record->{$_property} as $recordArray) {
                 $rec = new $recordClassName(array(), true);
                 $rec->setFromJsonInUsersTimezone($recordArray);
                 if (strlen($rec->getId()) < 40) {
                     $rec->{$rec->getIdProperty()} = Tinebase_Record_Abstract::generateUID();
                 }
                 $rs->addRecord($rec);
             }
             $_record->{$_property} = $rs;
         } else {
             foreach ($_record->{$_property} as $rec) {
                 if (strlen($rec->getId()) < 40) {
                     $rec->{$rec->getIdProperty()} = Tinebase_Record_Abstract::generateUID();
                 }
             }
         }
         // legacy end
         if (Tinebase_Core::isLogLevel(Zend_Log::INFO)) {
             Tinebase_Core::getLogger()->info(__METHOD__ . '::' . __LINE__ . ' Creating ' . $_record->{$_property}->count() . ' dependent records on property ' . $_property . ' for ' . $this->_applicationName . ' ' . $this->_modelName);
         }
         foreach ($_record->{$_property} as $record) {
             $record->{$_fieldConfig['refIdField']} = $_createdRecord->getId();
             if (!$record->getId() || strlen($record->getId()) != 40) {
                 $record->{$record->getIdProperty()} = NULL;
             }
             $new->add($controller->create($record));
         }
         $_createdRecord->{$_property} = $new->toArray();
     }
 }