public boolean isSystemObjectTypeSupported(
     DataModel configuration, SystemObjectType systemObjectType) {
   if (_supportedSystemObjectTypePIDs == null) {
     initSupportedSystemObjectTypePIDs(configuration);
   }
   return _supportedSystemObjectTypePIDs.contains(systemObjectType.getPid());
 }
 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());
   }
 }