code: private Function<Object, String> createDecryptor() throws GeneralSecurityException {
  		Cipher cipher = Cipher.getInstance(transformationType);
  		if (useIV) {
  			cipher.init(Cipher.DECRYPT_MODE, secretKey,
  					encryptCipher.getParameters().getParameterSpec(IvParameterSpec.class));
  		} else {
  			cipher.init(Cipher.DECRYPT_MODE, secretKey);
  		}
  
  		return secret -> {
  			if (secret == null) {
  				return null;
  			}
  
  			String secretStr = secret.toString();
  			if (!secretStr.isEmpty()) {
  				synchronized (cipher) {
  					try {
  						return decrypt(cipher, secretKey, secretStr);
  					} catch (Exception ex) {
  						return secretStr;
  					}
  				}
  			} else {
  				return secretStr;
  			}
  		};
  	}
docs: {@link SecretResultSet} が復号に使用するラムダを構築する。
  
  @return 暗号を受け取り平文を返すラムダ
  @throws GeneralSecurityException サブクラスでの拡張に備えて javax.crypto パッケージ配下の例外の親クラス