docs: private void initCipher(Cipher cipher, int mode, SecretKey key, byte[] iv) {
  
          // Initialise the cipher:
          IvParameterSpec ivParameterSpec = new IvParameterSpec(iv);
          try {
              cipher.init(mode, key, ivParameterSpec);
          } catch (InvalidKeyException e) {
              // This is likely to be an invalid key size, so explain what just happened and signpost how to fix it.
              String message;
              if (StringUtils.containsIgnoreCase(e.getMessage(), "illegal key size")) {
                  message = "It looks like your JVM doesn't allow you to use strong 256-bit AES keys. " +
                          "You can ";
              } else {
                  message = "Invalid key for " + CIPHER_NAME +
                          ". NB: If the root cause of this exception is an Illegal key size, " +
                          "you can ";
              }
              throw new IllegalArgumentException(message + "either use Keys.useStandardKeys() to limit key size to 128-bits, or install the " +
                      "'Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files' " +
                      "in your JVM to use 256-bit keys.", e);
          } catch (InvalidAlgorithmParameterException e) {
              throw new IllegalArgumentException(
                      "Invalid parameter passed to initialise cipher for encryption: zero IvParameterSpec containing "
                              + cipher.getBlockSize() + " bytes.", e);
          }
      }