docs: @SuppressWarnings("nls")
      public static SSLSessionStrategy buildMutual(TLSOptions optionsMap)
              throws KeyManagementException, NoSuchAlgorithmException, KeyStoreException, CertificateException,
              IOException, UnrecoverableKeyException {
          Args.notNull(optionsMap.getKeyStore(), "KeyStore");
          Args.notEmpty(optionsMap.getKeyStore(), "KeyStore must not be empty");
  
          String[] allowedProtocols = arrayDifference(optionsMap.getAllowedProtocols(),
                  optionsMap.getDisallowedProtocols(),
                  getDefaultProtocols());
          String[] allowedCiphers = arrayDifference(optionsMap.getAllowedCiphers(),
                  optionsMap.getDisallowedCiphers(),
                  getDefaultCipherSuites());
  
          return build(optionsMap.getTrustStore(),
                  optionsMap.getTrustStorePassword(),
                  optionsMap.getKeyStore(),
                  optionsMap.getKeyStorePassword(),
                  optionsMap.getKeyAliases(),
                  optionsMap.getKeyPassword(),
                  allowedProtocols,
                  allowedCiphers,
                  optionsMap.isAllowAnyHost(),
                  optionsMap.isTrustSelfSigned());
      }