private SystemObjectProperties createObjectProperties(final SystemObject systemObject) {
		if(systemObject instanceof Aspect) {
			return (createAspectProperties((Aspect)systemObject));
		}
		else if(systemObject instanceof AttributeListDefinition) { // enthält AttributeSet und AttributeType
			// muss vor dem AttributTyp stehen, da dieser ebenfalls eine AttributeListDefinition sein kann
			return (createAttributeListProperties((AttributeListDefinition)systemObject));
		}
		else if(systemObject instanceof AttributeType) {
			return (createAttributeTypeProperties((AttributeType)systemObject));
		}
		else if(systemObject instanceof AttributeGroup) {
			if(systemObject.getType().getPid().equals(Pid.Type.TRANSACTION)) {
				return (createTransactionProperties((AttributeGroup)systemObject));
			}
			else
			{
				return (createAttributeGroupProperties((AttributeGroup)systemObject));
			}
		}
		else if(systemObject instanceof ObjectSetType) {	// von ConfigurationObjectType
			return (createObjectSetTypeProperties((ObjectSetType)systemObject));
		}
		else if(systemObject instanceof SystemObjectType) {
			return (createSystemObjectTypeProperties((SystemObjectType)systemObject));
		}
		else {
			return (createConfigurationObjectProperties(systemObject));
		}
	}