docs: private static ExtensionInfo exploreExtensions(ByteBuffer input)
              throws SSLException {
  
          List<SNIServerName> sni = Collections.emptyList();
          List<String> alpn = Collections.emptyList();
  
          int length = getInt16(input);           // length of extensions
          while (length > 0) {
              int extType = getInt16(input);      // extension type
              int extLen = getInt16(input);       // length of extension data
  
              if (extType == 0x00) {      // 0x00: type of server name indication
                  sni = exploreSNIExt(input, extLen);
              } else if (extType == 0x10) { // 0x10: type of alpn
                  alpn = exploreALPN(input, extLen);
              } else {                    // ignore other extensions
                  ignoreByteVector(input, extLen);
              }
  
              length -= extLen + 4;
          }
  
          return new ExtensionInfo(sni, alpn);
      }