docs: private static void exploreHandshake(
           ByteBuffer input, byte recordMajorVersion,
           byte recordMinorVersion, int recordLength, List<String> alpnProtocols, ByteArrayOutputStream out) throws SSLException {
  
        // What is the handshake type?
        byte handshakeType = input.get();
        if (handshakeType != 0x01) {   // 0x01: client_hello message
           throw new SSLException("Expected client hello");
        }
        if(out != null) {
           out.write(handshakeType & 0xFF);
        }
  
        // What is the handshake body length?
        int handshakeLength = getInt24(input);
        if(out != null) {
           //placeholder
           out.write(0);
           out.write(0);
           out.write(0);
        }
  
        // Theoretically, a single handshake message might span multiple
        // records, but in practice this does not occur.
        if (handshakeLength > recordLength - 4) { // 4: handshake header size
           throw new SSLException("Multi record handshake");
        }
  
        input = input.duplicate();
        input.limit(handshakeLength + input.position());
        exploreClientHello(input, alpnProtocols, out);
     }