code: protected Cipher newCipher(final int operationMode, final SecretKey key,
  		final AlgorithmParameterSpec paramSpec, final String alg) throws NoSuchAlgorithmException,
  		NoSuchPaddingException, InvalidKeyException, InvalidAlgorithmParameterException
  	{
  		return CipherFactory.newCipher(operationMode, key, paramSpec, alg);
  	}
docs: Factory method for creating a new {@link Cipher} from the given parameters. This method is
  invoked in the constructor from the derived classes and can be overridden so users can
  provide their own version of a new {@link Cipher} from the given parameters.
  
  @param operationMode
  the operation mode
  @param key
  the key
  @param paramSpec
  the param spec
  @param alg
  the alg
  @return the cipher
  
  @throws NoSuchAlgorithmException
  is thrown if instantiation of the SecretKeyFactory object fails.
  @throws NoSuchPaddingException
  is thrown if instantiation of the cypher object fails.
  @throws InvalidKeyException
  is thrown if initialization of the cypher object fails.
  @throws InvalidAlgorithmParameterException
  is thrown if initialization of the cypher object fails.