public static ExchangeProperties getExchangeProperties(final SystemObject wrappedObject)
     throws MissingKExDaVAttributeGroupException {
   final AttributeGroup attributeGroup =
       wrappedObject
           .getDataModel()
           .getAttributeGroup(Constants.Pids.AttributeGroupKExDaVConfigData);
   if (attributeGroup == null) throw new MissingKExDaVAttributeGroupException();
   Data data = wrappedObject.getConfigurationData(attributeGroup);
   if (data == null) return null;
   return new ExchangeProperties(data);
 }
 /**
  * Liest alle Konfigurationsdaten dieses Objekts
  *
  * @return Konfigurationsdaten
  * @throws MissingObjectException Falls ein Objekt fehlt (entweder das Systemobjekt, oder die
  *     Attributgruppe oder der Aspekt)
  */
 public Map<PidAttributeGroupUsage, KExDaVAttributeGroupData> getAllConfigurationData()
     throws MissingObjectException {
   final SystemObject wrappedObject = getWrappedObjectOrThrowException();
   final Map<PidAttributeGroupUsage, KExDaVAttributeGroupData> result =
       new HashMap<PidAttributeGroupUsage, KExDaVAttributeGroupData>();
   final List<AttributeGroup> attributeGroups = wrappedObject.getType().getAttributeGroups();
   for (final AttributeGroup attributeGroup : attributeGroups) {
     final Collection<Aspect> aspects = attributeGroup.getAspects();
     for (final Aspect aspect : aspects) {
       final Data data = wrappedObject.getConfigurationData(attributeGroup, aspect);
       if (data != null) {
         result.put(
             new PidAttributeGroupUsage(attributeGroup.getPid(), aspect.getPid()),
             new KExDaVAttributeGroupData(data, _manager));
       }
     }
   }
   return result;
 }