*
	 * @throws ConfigurationChangeException Falls die Menge der Mengendefinition nicht hinzugefügt werden konnten.
	 */
	private void setObjectSetTypeSuperTypeSet(ConfigurationArea configurationArea, ObjectSetType objectSetType) throws ConfigurationChangeException {
		NonMutableSet superTypeSet = objectSetType.getNonMutableSet("SuperTypen");
		if(superTypeSet == null) {
			// Mengen erstellen und dem MengenTyp hinzufügen
			final ConfigurationObjectType superTypeType = (ConfigurationObjectType)_dataModel.getType(Pid.SetType.OBJECT_TYPES);
			superTypeSet = (NonMutableSet)configurationArea.createConfigurationObject(superTypeType, "", "SuperTypen", null);
			objectSetType.addSet(superTypeSet);
			_debug.finer("Menge der SuperTypen wurde für den Mengen-Typ mit der Pid '" + objectSetType.getPid() + "' angelegt.");
		}
		else {
			setSystemObjectKeeping(superTypeSet);
		}

		// je nachdem, ob die Menge änderbar ist oder nicht, muss der richtige SuperTyp ausgewählt werden
		// änderbar = typ.dynamischeMenge || nicht änderbar = typ.konfigurationsMenge
		final SystemObjectType superType = objectSetType.isMutable() ? _dataModel.getType(Pid.Type.MUTABLE_SET) : _dataModel.getType(Pid.Type.NON_MUTABLE_SET);
		final List<SystemObject> superTypeSetElements = superTypeSet.getElementsInVersion(objectSetType.getConfigurationArea().getModifiableVersion());
		if(!superTypeSetElements.contains(superType)) {
			// Supertyp eintragen, wenn noch nicht enthalten
			superTypeSet.add(superType);
		}

		// evtl. vorhandene andere Supertypen müssen entfernt werden.
		for(SystemObject object : superTypeSetElements) {
			if(!object.equals(superType)) superTypeSet.remove(object);
		}
	}