/**
  * Erstellt dieses Objekt
  *
  * @param configurationArea Konfigurationsbereich
  * @param pid
  * @param typePid Objekt-Typ-Pid
  * @param objectName Objekt-name falls vorhanden
  * @param allConfigurationData Konfigurationsdaten
  * @param origId
  * @param origConfigAuthority
  * @throws MissingObjectException Falls der angegebene Typ nicht existiert oder nicht vom Typ
  *     DynamicObjectType ist.
  * @throws ConfigurationChangeException Falls die Konfigurationsänderung nicht durchgeführt werden
  *     konnte
  */
 public void create(
     final ConfigurationArea configurationArea,
     final String pid,
     final String typePid,
     final String objectName,
     final Map<PidAttributeGroupUsage, Data> allConfigurationData,
     final long origId,
     final String origConfigAuthority)
     throws MissingObjectException, ConfigurationChangeException,
         MissingKExDaVAttributeGroupException {
   final SystemObject type = _connection.getDataModel().getObject(typePid);
   if (type == null) throw new MissingObjectException(type + " konnte nicht gefunden werden");
   if (!(type instanceof DynamicObjectType)) {
     throw new MissingObjectException(type + " ist kein Typ für dynamische Objekte");
   }
   final Map<PidAttributeGroupUsage, Data> map =
       new HashMap<PidAttributeGroupUsage, Data>(allConfigurationData);
   if (_connection.getDataModel().getAttributeGroup(Constants.Pids.AttributeGroupKExDaVConfigData)
       == null) {
     throw new MissingKExDaVAttributeGroupException();
   }
   if (origConfigAuthority != null) {
     map.put(
         new PidAttributeGroupUsage(
             Constants.Pids.AttributeGroupKExDaVConfigData, Constants.Pids.AspectProperties),
         createProperties(origId, origConfigAuthority));
   }
   final Collection<DataAndATGUsageInformation> dataList = convertConfigurationData(map);
   _manager.addMessage(
       Message.newInfo("Erstelle Objekt: " + (pid.length() == 0 ? '[' + origId + ']' : pid)));
   final DynamicObject dynamicObject =
       configurationArea.createDynamicObject((DynamicObjectType) type, pid, objectName, dataList);
   setWrappedObject(dynamicObject);
 }