class CredentialManagerImpl implements CredentialManager,
		Observable<KeystoreChangedEvent> {

	@Override
	public void initializeSSL() throws CMException {
		/*
		 * We use the lazy initialization of Credential Manager from inside the
		 * Taverna's SSLSocketFactory (i.e. KeyManager's and TrustManager's
		 * init() methods) when it is actually needed so do not initialize it
		 * here. These init() methods will not be called unledd a SSL connection
		 * is attempted somewhere from Taverna and it is inside them that we
		 * actually call the initialize() method on Credential Manager (and not
		 * from the Credential Manager's constructor - hence lazy).
		 * 
		 * Create Taverna's SSLSocketFactory and set the SSL socket factory from
		 * HttpsURLConnectionS to use it
		 */
		if (tavernaSSLSocketFactory == null)
			HttpsURLConnection
					.setDefaultSSLSocketFactory(createSSLSocketFactory());
	}

	public  CredentialManagerImpl();

}