code: private KeyManager[] createKeyManagers() throws ClientSslSocketFactoryException {
  
          final KeyManagerFactory factory;
  
          try {
              factory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
              factory.init(this.keyStore, this.keyStorePassword.toCharArray());
          } catch (NoSuchAlgorithmException e) {
              throw new ClientSslSocketFactoryException(
                      String.format("Failed to create the key store because the algorithm %s is not supported. ",
                              KeyManagerFactory.getDefaultAlgorithm()), e);
          } catch (UnrecoverableKeyException e) {
          	throw new ClientSslSocketFactoryException("Unrecoverable Key Exception initializing key manager factory; this is probably fatal", e);
  		} catch (KeyStoreException e) {
  			throw new ClientSslSocketFactoryException("KeyStore exception initializing key manager factory; this is probably fatal", e);
  		}
  
          KeyManager[] managers = factory.getKeyManagers();
  
          LOGGER.debug("Key managers are initialized. Total {} managers. ", managers.length);
          
          return managers;
      }
docs: Creates the key managers to be used by the factory from the associated key store and password.
  
  @return the newly created array of key managers
  @throws ClientSslSocketFactoryException if an exception is detected in loading the key store