private void saveDependencies() throws ConfigurationChangeException {
		// Abhängigkeiten nur speichern, wenn mindestens Version 9 des Metamodells vorliegt
		if(!_storeDependencies) return;

		synchronized(_areasDependencies) {

			// Alle Aufrufe in diesem Block können zu Festplattenzugriffen führen. Das kann diese Methode sehr lange blockieren lassen.
			// In der Zeit ist es auch nicht möglich weitere Abhängigkeiten hinzuzufügen. Das ist aber auch nicht nötig, da diese
			// Methode am Ende der Konsistenzprüfung aufgerufen wird.

			final Set<ConfigurationArea> areas = _areasDependencies.keySet();
			for(ConfigurationArea area : areas) {
				final Short desiredVersionObject = _areaVersionMap.get(area);
				if(desiredVersionObject == null) {
//					System.out.println("*****************************************************************************");
//					System.out.println("*****************************************************************************");
//					System.out.println("area = " + area.getPidOrNameOrId());
//					System.out.println("*****************************************************************************");
//					System.out.println("*****************************************************************************");
					continue;
				}
				final int desiredVersion = desiredVersionObject.intValue();
				int maxFreezedVersion = area.getActiveVersion();
				if(maxFreezedVersion < area.getTransferableVersion()) maxFreezedVersion = area.getTransferableVersion();
				if(maxFreezedVersion < area.getActivatableVersion()) maxFreezedVersion = area.getActivatableVersion();
				// Nur Speichern, wenn der Bereich verändert wurde
				if( maxFreezedVersion >= desiredVersion) {
//					System.out.println("*****************************************************************************");
//					System.out.println("*****************************************************************************");
//					System.out.println("area = " + area.getPidOrNameOrId());
//					System.out.println("maxFreezedVersion = " + maxFreezedVersion);
//					System.out.println("desiredVersion = " + desiredVersion);
//					System.out.println("*****************************************************************************");
//					System.out.println("*****************************************************************************");
					continue;
				}
				ConfigConfigurationArea configConfigurationArea = ((ConfigConfigurationArea)area);
				final Set<ConfigurationAreaDependency> dependencies = _areasDependencies.get(area);
				try {

					configConfigurationArea.addAreaDependency(dependencies);
				}
				catch(ConfigurationChangeException e) {
					// Der Datensatz, der die Abhängigkeiten speichert, konnte nicht geschrieben werden.
					final StringBuffer errorText = new StringBuffer();
					errorText.append(
							"Fehler in der Konsistenzprüfung: Der Datensatz, der alle Abhängigkeiten eines Bereich enthält, konnte nicht geschrieben werden. Betroffener Bereich: "
							+ area.getConfigurationArea().getPid() + " KV des Bereichs: " + area.getConfigurationArea().getConfigurationAuthority().getPid()
							+ " KV der Konfiguration: " + _dataModel.getConfigurationAuthorityPid() + " .Abhängigkeiten, die geschrieben werden sollten: "
							+ dependencies
					);

					throw new ConfigurationChangeException(errorText.toString(), e);
				}
			}
		}// synch
	}