* @return der neue Konfigurationsbereich
	 *
	 * @throws ConfigurationChangeException Falls der neue Bereich nicht erstellt werden konnte.
	 */
	private ConfigurationArea createConfigurationArea(final ConfigurationAreaProperties property, final ConfigurationControl configurationControl)
			throws ConfigurationChangeException {
		final ConfigurationArea configurationArea;
		// Gibt es diesen Konfigurationsbereich nicht, muss ein neuer angelegt werden.
		_debug.info("Konfigurationsbereich " + property.getPid() + " wird neu erstellt.");
		// gibt es den Konfigurationsverantwortlichen bereits? Oder muss der auch neu angelegt werden? Er muss nicht aktiv sein.
		ConfigurationAuthority authority = null;
		try {
			authority = (ConfigurationAuthority)_dataModel.getObject(property.getAuthority());
		}
		catch(IllegalStateException ignore) {
		}

		if(authority != null) {
			configurationArea = configurationControl.createConfigurationArea(property.getName(), property.getPid(), property.getAuthority());
		}
		else {
			// KV existiert noch nicht - Daten des Konfigurationsverantwortlichen ermitteln
			final List<SystemObjectProperties> objectProperties = property.getObjectProperties();
			SystemObjectType authorityType = null;
			String authorityPid = "";
			String authorityName = "";
			short authorityCoding = -1;
			for(SystemObjectProperties systemObjectProperties : objectProperties) {
				if(systemObjectProperties.getPid().equals(property.getAuthority())) {
					// Objekt des Konfigurationsverantwortlichen gefunden
					// es handelt sich um ein Konfigurationsobjekt
					ConfigurationConfigurationObject configurationObjectProperties = (ConfigurationConfigurationObject)systemObjectProperties;
					// der Typ des Konfigurationsverantwortlichen muss zu den aktiven Objekten gehören
					authorityType = _dataModel.getType(configurationObjectProperties.getType());
					authorityPid = configurationObjectProperties.getPid();
					authorityName = configurationObjectProperties.getName();
					authorityCoding = getAuthorityCoding(configurationObjectProperties);
					break;
				}
			}
			if(authorityCoding == -1 || authorityType == null) {
				throw new IllegalStateException(
						"Es gibt kein aktives Objekt des Konfigurationsverantwortlichen '" + property.getAuthority()
						+ "' und es wird kein neuer Konfigurationsverantwortlicher in diesem Bereich '" + property.getPid() + "' angelegt."
				);
			}
			// Prüfen, ob Kodierung eindeutig ist. Alle KVs betrachten und prüfen.
			checkCodingOfConfigurationAuthority(authorityCoding, authorityPid);

			// Bereich und Konfigurationsverantwortlicher werden erstellt
			configurationArea = ((ConfigDataModel)_dataModel).createConfigurationArea(
					property.getName(), property.getPid(), authorityType, authorityPid, authorityName, authorityCoding
			);

			// Der Konfigurationsverantwortliche muss hinzugefügt werden, da er gerade erst erstellt wurde.
			if(_viewingObjects != null) {
				final ConfigurationAuthority configurationAuthority = configurationArea.getConfigurationAuthority();
				_viewingObjects.put(configurationAuthority.getPid(), configurationAuthority);
			}
		}
		setInfo(configurationArea, property.getInfo());

		// ein neu angelegter Bereich muss in der Map mit aufgenommen werden
		_usingVersionOfConfigurationArea.put(configurationArea, configurationArea.getModifiableVersion());
		if(_viewingObjects != null) {
			_viewingObjects.put(configurationArea.getPid(), configurationArea);
		}
		return configurationArea;
	}