code: private void check(CryptoMode cryptoMode) {
          if (cryptoMode == CryptoMode.AuthenticatedEncryption
                  || cryptoMode == CryptoMode.StrictAuthenticatedEncryption) {
              if (!CryptoRuntime.isBouncyCastleAvailable()) {
                  CryptoRuntime.enableBouncyCastle();
                  if (!CryptoRuntime.isBouncyCastleAvailable()) {
                      throw new UnsupportedOperationException(
                              "The Bouncy castle library jar is required on the classpath to enable authenticated encryption");
                  }
              }
              if (!CryptoRuntime.isAesGcmAvailable())
                  throw new UnsupportedOperationException(
                          "More recent version of the Bouncy castle library is required to enable authenticated encryption");
          }
      }
docs: Checks if the crypto mode is supported by the runtime.
  
  @throws UnsupportedOperationException
  if the necessary security provider cannot be found or the
  necessary cryptographic operations are not supported for the
  specified crypto mode.