* @param elements          Elemente der Menge der Objekt-Typen
	 *
	 * @throws ConfigurationChangeException Falls die Menge nicht am Objekt gespeichert werden konnte.
	 */
	private void setObjectSetTypeObjectTypes(ConfigurationArea configurationArea, ObjectSetType objectSetType, String[] elements)
			throws ConfigurationChangeException {
		NonMutableSet nonMutableSet = objectSetType.getNonMutableSet("ObjektTypen");
		if(nonMutableSet == null) {
			// Menge neu erstellen
			final ConfigurationObjectType type = (ConfigurationObjectType)_dataModel.getType(Pid.SetType.OBJECT_TYPES);
			nonMutableSet = (NonMutableSet)configurationArea.createConfigurationObject(type, "", "ObjektTypen", null);
			objectSetType.addSet(nonMutableSet);
			_debug.finer("Menge der ObjektTypen für den Mengen-Typ mit der Pid '" + objectSetType.getPid() + "' wurde erstellt.");
		}
		else {
			setSystemObjectKeeping(nonMutableSet);
		}

		// Elemente der Menge ermitteln
		final Set<SystemObjectType> objectTypes = new LinkedHashSet<SystemObjectType>();
		for(String element : elements) {
			// Element ist entweder im Datenmodell oder wurde just importiert
			final SystemObject object = getObject(element);
			if(object == null) throwNoObjectException(element);
			objectTypes.add((SystemObjectType)object);
		}

		// Menge überprüfen
		final List<SystemObject> elementsInVersion = nonMutableSet.getElementsInVersion(objectSetType.getConfigurationArea().getModifiableVersion());
		// Erst alle überflüssigen entfernen.
		for(SystemObject systemObject : elementsInVersion) {
			SystemObjectType systemObjectType = (SystemObjectType)systemObject;
			if(!objectTypes.contains(systemObjectType)) {
				nonMutableSet.remove(systemObjectType);
			}
		}
		// Jetzt neue hinzufügen
		for(SystemObjectType objectType : objectTypes) {
			if(!elementsInVersion.contains(objectType)) {
				nonMutableSet.add(objectType);
			}
		}
	}