code: @Nonnull
    public static KeyStore createKeyStoreWithOnlyOneItem (@Nonnull final KeyStore aBaseKeyStore,
                                                          @Nonnull final String sAliasToCopy,
                                                          @Nullable final char [] aAliasPassword) throws GeneralSecurityException,
                                                                                                  IOException
    {
      ValueEnforcer.notNull (aBaseKeyStore, "BaseKeyStore");
      ValueEnforcer.notNull (sAliasToCopy, "AliasToCopy");
  
      final KeyStore aKeyStore = getSimiliarKeyStore (aBaseKeyStore);
      // null stream means: create new key store
      aKeyStore.load (null, null);
  
      // Do we need a password?
      ProtectionParameter aPP = null;
      if (aAliasPassword != null)
        aPP = new PasswordProtection (aAliasPassword);
  
      aKeyStore.setEntry (sAliasToCopy, aBaseKeyStore.getEntry (sAliasToCopy, aPP), aPP);
      return aKeyStore;
    }
docs: Create a new key store based on an existing key store
  
  @param aBaseKeyStore
  The source key store. May not be <code>null</code>
  @param sAliasToCopy
  The name of the alias in the source key store that should be put in
  the new key store
  @param aAliasPassword
  The optional password to access the alias in the source key store.
  If it is not <code>null</code> the same password will be used in the
  created key store
  @return The created in-memory key store
  @throws GeneralSecurityException
  In case of a key store error
  @throws IOException
  In case key store loading fails