public ClientConnectionProperties(ClientDavParameters clientDavParameters) throws ConnectionException {
		super(
				null,
				null,
				clientDavParameters.getUserName(),
				clientDavParameters.getUserPassword(),
				clientDavParameters.getCommunicationParameters().getSendKeepAliveTimeout(),
				clientDavParameters.getCommunicationParameters().getReceiveKeepAliveTimeout(),
				clientDavParameters.getAdjustedOutputBufferSize(),
				clientDavParameters.getAdjustedInputBufferSize()
		);
		try {
			String comProtocol = clientDavParameters.getLowLevelCommunicationName();
			if(comProtocol == null) {
				throw new InitialisationNotCompleteException("Unbekannter Kommunikationsprotokollname.");
			}
			Class aClass = Class.forName(comProtocol);
			if(aClass == null) {
				throw new InitialisationNotCompleteException("Unbekannter Kommunikationsprotokollname.");
			}
			ConnectionInterface connection = (ConnectionInterface)aClass.newInstance();
			setLowLevelCommunication(
					new LowLevelCommunication(
							connection,
							clientDavParameters.getAdjustedOutputBufferSize(),
							clientDavParameters.getAdjustedInputBufferSize(),
							clientDavParameters.getCommunicationParameters().getSendKeepAliveTimeout(),
							clientDavParameters.getCommunicationParameters().getReceiveKeepAliveTimeout(),
							LowLevelCommunication.HANDLE_CONFIG_RESPONCES_MODE,
							false
					)
			);

			String authentificationName = clientDavParameters.getAuthentificationProcessName();
			if(authentificationName == null) {
				throw new InitialisationNotCompleteException("Unbekanntes Authentifikationsverfahren.");
			}
			aClass = Class.forName(authentificationName);
			if(aClass == null) {
				throw new InitialisationNotCompleteException("Unbekanntes Authentifikationsverfahren.");
			}
			setAuthentificationProcess((AuthentificationProcess)aClass.newInstance());

			_applicationName = clientDavParameters.getApplicationName();
			_incarnationName = clientDavParameters.getIncarnationName();
			_applicationTypePid = clientDavParameters.getApplicationTypePid();
			_configurationPid = clientDavParameters.getConfigurationPid();
			_address = clientDavParameters.getDavCommunicationAddress();
			_subAddress = clientDavParameters.getDavCommunicationSubAddress();
			_communicationParameters = clientDavParameters.getCommunicationParameters();
		}
		catch(ClassNotFoundException ex) {
			throw new InitialisationNotCompleteException("Fehler beim Erzeugen der logischen Verbindung zum Datenverteiler.", ex);
		}
		catch(InstantiationException ex) {
			throw new InitialisationNotCompleteException("Fehler beim Erzeugen der logischen Verbindung zum Datenverteiler.", ex);
		}
		catch(IllegalAccessException ex) {
			throw new InitialisationNotCompleteException("Fehler beim Erzeugen der logischen Verbindung zum Datenverteiler.", ex);
		}
	}