final class sun.security.ssl.ServerNameExtension
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: sun.security.ssl.ServerNameExtension
  super_class: java.lang.Object
{
  static final sun.security.ssl.HandshakeProducer chNetworkProducer;
    descriptor: Lsun/security/ssl/HandshakeProducer;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final sun.security.ssl.SSLExtension$ExtensionConsumer chOnLoadConsumer;
    descriptor: Lsun/security/ssl/SSLExtension$ExtensionConsumer;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final sun.security.ssl.SSLStringizer chStringizer;
    descriptor: Lsun/security/ssl/SSLStringizer;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final sun.security.ssl.HandshakeProducer shNetworkProducer;
    descriptor: Lsun/security/ssl/HandshakeProducer;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final sun.security.ssl.SSLExtension$ExtensionConsumer shOnLoadConsumer;
    descriptor: Lsun/security/ssl/SSLExtension$ExtensionConsumer;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final sun.security.ssl.SSLStringizer shStringizer;
    descriptor: Lsun/security/ssl/SSLStringizer;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final sun.security.ssl.HandshakeProducer eeNetworkProducer;
    descriptor: Lsun/security/ssl/HandshakeProducer;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final sun.security.ssl.SSLExtension$ExtensionConsumer eeOnLoadConsumer;
    descriptor: Lsun/security/ssl/SSLExtension$ExtensionConsumer;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 55
            new sun.security.ssl.ServerNameExtension$CHServerNameProducer
            dup
            invokespecial sun.security.ssl.ServerNameExtension$CHServerNameProducer.<init>:()V
         1: .line 54
            putstatic sun.security.ssl.ServerNameExtension.chNetworkProducer:Lsun/security/ssl/HandshakeProducer;
         2: .line 57
            new sun.security.ssl.ServerNameExtension$CHServerNameConsumer
            dup
            invokespecial sun.security.ssl.ServerNameExtension$CHServerNameConsumer.<init>:()V
         3: .line 56
            putstatic sun.security.ssl.ServerNameExtension.chOnLoadConsumer:Lsun/security/ssl/SSLExtension$ExtensionConsumer;
         4: .line 59
            new sun.security.ssl.ServerNameExtension$CHServerNamesStringizer
            dup
            invokespecial sun.security.ssl.ServerNameExtension$CHServerNamesStringizer.<init>:()V
         5: .line 58
            putstatic sun.security.ssl.ServerNameExtension.chStringizer:Lsun/security/ssl/SSLStringizer;
         6: .line 62
            new sun.security.ssl.ServerNameExtension$SHServerNameProducer
            dup
            invokespecial sun.security.ssl.ServerNameExtension$SHServerNameProducer.<init>:()V
         7: .line 61
            putstatic sun.security.ssl.ServerNameExtension.shNetworkProducer:Lsun/security/ssl/HandshakeProducer;
         8: .line 64
            new sun.security.ssl.ServerNameExtension$SHServerNameConsumer
            dup
            invokespecial sun.security.ssl.ServerNameExtension$SHServerNameConsumer.<init>:()V
         9: .line 63
            putstatic sun.security.ssl.ServerNameExtension.shOnLoadConsumer:Lsun/security/ssl/SSLExtension$ExtensionConsumer;
        10: .line 66
            new sun.security.ssl.ServerNameExtension$SHServerNamesStringizer
            dup
            invokespecial sun.security.ssl.ServerNameExtension$SHServerNamesStringizer.<init>:()V
        11: .line 65
            putstatic sun.security.ssl.ServerNameExtension.shStringizer:Lsun/security/ssl/SSLStringizer;
        12: .line 69
            new sun.security.ssl.ServerNameExtension$EEServerNameProducer
            dup
            invokespecial sun.security.ssl.ServerNameExtension$EEServerNameProducer.<init>:()V
        13: .line 68
            putstatic sun.security.ssl.ServerNameExtension.eeNetworkProducer:Lsun/security/ssl/HandshakeProducer;
        14: .line 71
            new sun.security.ssl.ServerNameExtension$EEServerNameConsumer
            dup
            invokespecial sun.security.ssl.ServerNameExtension$EEServerNameConsumer.<init>:()V
        15: .line 70
            putstatic sun.security.ssl.ServerNameExtension.eeOnLoadConsumer:Lsun/security/ssl/SSLExtension$ExtensionConsumer;
        16: .line 71
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.ServerNameExtension this
         0: .line 53
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.security.ssl.ServerNameExtension this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/ServerNameExtension;
}
SourceFile: "ServerNameExtension.java"
NestMembers:
  sun.security.ssl.ServerNameExtension$CHServerNameConsumer  sun.security.ssl.ServerNameExtension$CHServerNameProducer  sun.security.ssl.ServerNameExtension$CHServerNamesSpec  sun.security.ssl.ServerNameExtension$CHServerNamesSpec$UnknownServerName  sun.security.ssl.ServerNameExtension$CHServerNamesStringizer  sun.security.ssl.ServerNameExtension$EEServerNameConsumer  sun.security.ssl.ServerNameExtension$EEServerNameProducer  sun.security.ssl.ServerNameExtension$SHServerNameConsumer  sun.security.ssl.ServerNameExtension$SHServerNameProducer  sun.security.ssl.ServerNameExtension$SHServerNamesSpec  sun.security.ssl.ServerNameExtension$SHServerNamesStringizer
InnerClasses:
  abstract ExtensionConsumer = sun.security.ssl.SSLExtension$ExtensionConsumer of sun.security.ssl.SSLExtension
  private final CHServerNameConsumer = sun.security.ssl.ServerNameExtension$CHServerNameConsumer of sun.security.ssl.ServerNameExtension
  private final CHServerNameProducer = sun.security.ssl.ServerNameExtension$CHServerNameProducer of sun.security.ssl.ServerNameExtension
  final CHServerNamesSpec = sun.security.ssl.ServerNameExtension$CHServerNamesSpec of sun.security.ssl.ServerNameExtension
  private final CHServerNamesStringizer = sun.security.ssl.ServerNameExtension$CHServerNamesStringizer of sun.security.ssl.ServerNameExtension
  private final EEServerNameConsumer = sun.security.ssl.ServerNameExtension$EEServerNameConsumer of sun.security.ssl.ServerNameExtension
  private final EEServerNameProducer = sun.security.ssl.ServerNameExtension$EEServerNameProducer of sun.security.ssl.ServerNameExtension
  private final SHServerNameConsumer = sun.security.ssl.ServerNameExtension$SHServerNameConsumer of sun.security.ssl.ServerNameExtension
  private final SHServerNameProducer = sun.security.ssl.ServerNameExtension$SHServerNameProducer of sun.security.ssl.ServerNameExtension
  final SHServerNamesSpec = sun.security.ssl.ServerNameExtension$SHServerNamesSpec of sun.security.ssl.ServerNameExtension
  private final SHServerNamesStringizer = sun.security.ssl.ServerNameExtension$SHServerNamesStringizer of sun.security.ssl.ServerNameExtension