docs: public static List<SNIServerName> explore(ByteBuffer source)
              throws SSLException {
  
          ByteBuffer input = source.duplicate();
  
          // Do we have a complete header?
          if (input.remaining() < RECORD_HEADER_SIZE) {
              throw new BufferUnderflowException();
          }
  
          // Is it a handshake message?
          byte firstByte = input.get();
          byte secondByte = input.get();
          byte thirdByte = input.get();
          if ((firstByte & 0x80) != 0 && thirdByte == 0x01) {
              // looks like a V2ClientHello
              return Collections.emptyList();
          } else if (firstByte == 22) {   // 22: handshake record
              return exploreTLSRecord(input,
                                      firstByte, secondByte, thirdByte);
          } else {
              throw UndertowMessages.MESSAGES.notHandshakeRecord();
          }
      }