private void initSupportedSystemObjectTypePIDs(DataModel configuration) {
   final List<SystemObjectType> geoReferenceObjectTypes = new ArrayList<SystemObjectType>();
   final SystemObjectType geoReferenceObjectType = configuration.getType("typ.punkt");
   geoReferenceObjectTypes.add(geoReferenceObjectType);
   for (int i = 0; i < geoReferenceObjectTypes.size(); i++) {
     geoReferenceObjectTypes.addAll(geoReferenceObjectTypes.get(i).getSubTypes());
   }
   _supportedSystemObjectTypePIDs = new HashSet<String>();
   for (SystemObjectType systemObjectType : geoReferenceObjectTypes) {
     _supportedSystemObjectTypePIDs.add(systemObjectType.getPid());
   }
 }
 public boolean isSystemObjectTypeSupported(
     DataModel configuration, SystemObjectType systemObjectType) {
   if (_supportedSystemObjectTypePIDs == null) {
     initSupportedSystemObjectTypePIDs(configuration);
   }
   return _supportedSystemObjectTypePIDs.contains(systemObjectType.getPid());
 }
 public List<ObjectSetUse> getDirectObjectSetUses(SystemObjectType type) {
   List<ObjectSetUse> directObjectSetUses = new ArrayList<ObjectSetUse>();
   ObjectSet set = type.getObjectSet("Mengen");
   if (set != null) {
     for (SystemObject systemObject : getElements(set)) {
       directObjectSetUses.add((ObjectSetUse) systemObject);
     }
   }
   return directObjectSetUses;
 }
 /**
  * Liefert eine Liste der Typ-Objekte die von dem angegebenen Typ-Objekt erweitert werden.
  *
  * @return Liste von {@link SystemObjectType Typ-Objekten}
  */
 public Collection<SystemObjectType> getSuperTypes(final SystemObjectType type) {
   Collection<SystemObjectType> superTypes = new ArrayList<SystemObjectType>();
   NonMutableSet set = (NonMutableSet) type.getObjectSet("SuperTypen");
   if (set != null) {
     final Collection<SystemObject> elements = getElements(set);
     for (SystemObject systemObject : elements) {
       superTypes.add((SystemObjectType) systemObject);
     }
   }
   return superTypes;
 }
 private static boolean checkType(
     final SystemObjectType type, final AttributeGroup attributeGroup) {
   return type.getAttributeGroups().contains(attributeGroup);
 }