docs: static byte[] ntlm2SessionResponse(final byte[] ntlmHash, final byte[] challenge,
              final byte[] clientChallenge) throws AuthenticationException {
          try {
              final MessageDigest md5 = getMD5();
              md5.update(challenge);
              md5.update(clientChallenge);
              final byte[] digest = md5.digest();
  
              final byte[] sessionHash = new byte[8];
              System.arraycopy(digest, 0, sessionHash, 0, 8);
              return lmResponse(ntlmHash, sessionHash);
          } catch (final Exception e) {
              if (e instanceof AuthenticationException) {
                  throw (AuthenticationException) e;
              }
              throw new AuthenticationException(e.getMessage(), e);
          }
      }