code: public Key getKey() {
  		if(key != null) {
  			return key;
  		} else if(keySpec != null && secretKeyFactory != null) {
  			try {
  				return key = secretKeyFactory.generateSecret(keySpec);
  			} catch (InvalidKeySpecException e) {
  				throw new RuntimeException(e);
  			}
  		}
  		throw new IllegalStateException("Cannot produce key");
  	}
docs: <p>Returns the key. This is either the key that this <code>Encryptor</code> has been constructed with or
  a key generated by a <code>SecretKeyFactory</code> according to a <code>KeySpec</code>.</p>
  @return