private static byte[] lmv2Response(final byte[] hash, final byte[] challenge, final byte[] clientData) {
        final HMACMD5 hmacMD5 = new HMACMD5(hash);
        hmacMD5.update(challenge);
        hmacMD5.update(clientData);
        final byte[] mac = hmacMD5.getOutput();
        final byte[] lmv2Response = new byte[mac.length + clientData.length];
        System.arraycopy(mac, 0, lmv2Response, 0, mac.length);
        System.arraycopy(clientData, 0, lmv2Response, mac.length, clientData.length);
        return lmv2Response;
    }
Creates the LMv2 Response from the given hash, client data, and Type 2
challenge.

@param hash
           The NTLMv2 Hash.
@param clientData
           The client data (blob or client challenge).
@param challenge
           The server challenge from the Type 2 message.

@return The response (either NTLMv2 or LMv2, depending on the client
        data).
httpclient5/src/main/java/org/apache/hc/client5/http/impl/auth/NTLMEngineImpl.java