public class com.sun.jndi.dns.DnsContext extends com.sun.jndi.toolkit.ctx.ComponentDirContext
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.jndi.dns.DnsContext
  super_class: com.sun.jndi.toolkit.ctx.ComponentDirContext
{
  com.sun.jndi.dns.DnsName domain;
    descriptor: Lcom/sun/jndi/dns/DnsName;
    flags: (0x0000) 

  java.util.Hashtable environment;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0000) 

  private boolean envShared;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean parentIsDns;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String[] servers;
    descriptor: [Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.jndi.dns.Resolver resolver;
    descriptor: Lcom/sun/jndi/dns/Resolver;
    flags: (0x0002) ACC_PRIVATE

  private boolean authoritative;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean recursion;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private int timeout;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int retries;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  static final javax.naming.NameParser nameParser;
    descriptor: Ljavax/naming/NameParser;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private static final int DEFAULT_INIT_TIMEOUT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1000

  private static final int DEFAULT_RETRIES;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private static final java.lang.String INIT_TIMEOUT;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "com.sun.jndi.dns.timeout.initial"

  private static final java.lang.String RETRIES;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "com.sun.jndi.dns.timeout.retries"

  private com.sun.jndi.dns.CT lookupCT;
    descriptor: Lcom/sun/jndi/dns/CT;
    flags: (0x0002) ACC_PRIVATE

  private static final java.lang.String LOOKUP_ATTR;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "com.sun.jndi.dns.lookup.attr"

  private static final java.lang.String RECURSION;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "com.sun.jndi.dns.recursion"

  private static final int ANY;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 255

  private static final com.sun.jndi.dns.ZoneNode zoneTree;
    descriptor: Lcom/sun/jndi/dns/ZoneNode;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final boolean debug;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 63
            new com.sun.jndi.dns.DnsNameParser
            dup
            invokespecial com.sun.jndi.dns.DnsNameParser.<init>:()V
            putstatic com.sun.jndi.dns.DnsContext.nameParser:Ljavax/naming/NameParser;
         1: .line 88
            new com.sun.jndi.dns.ZoneNode
            dup
            aconst_null
            invokespecial com.sun.jndi.dns.ZoneNode.<init>:(Ljava/lang/String;)V
            putstatic com.sun.jndi.dns.DnsContext.zoneTree:Lcom/sun/jndi/dns/ZoneNode;
         2: .line 925
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.lang.String, java.lang.String[], java.util.Hashtable);
    descriptor: (Ljava/lang/String;[Ljava/lang/String;Ljava/util/Hashtable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // com.sun.jndi.dns.DnsContext this
        start local 1 // java.lang.String domain
        start local 2 // java.lang.String[] servers
        start local 3 // java.util.Hashtable environment
         0: .line 98
            aload 0 /* this */
            invokespecial com.sun.jndi.toolkit.ctx.ComponentDirContext.<init>:()V
         1: .line 101
            aload 0 /* this */
         2: new com.sun.jndi.dns.DnsName
            dup
            aload 1 /* domain */
            ldc "."
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 102
            aload 1 /* domain */
            goto 5
         4: .line 103
      StackMap locals: com.sun.jndi.dns.DnsContext java.lang.String java.lang.String[] java.util.Hashtable
      StackMap stack: com.sun.jndi.dns.DnsContext new 2 new 2
            new java.lang.StringBuilder
            dup
            aload 1 /* domain */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals: com.sun.jndi.dns.DnsContext java.lang.String java.lang.String[] java.util.Hashtable
      StackMap stack: com.sun.jndi.dns.DnsContext new 2 new 2 java.lang.String
         5: invokespecial com.sun.jndi.dns.DnsName.<init>:(Ljava/lang/String;)V
         6: .line 101
            putfield com.sun.jndi.dns.DnsContext.domain:Lcom/sun/jndi/dns/DnsName;
         7: .line 104
            aload 0 /* this */
            aload 2 /* servers */
            putfield com.sun.jndi.dns.DnsContext.servers:[Ljava/lang/String;
         8: .line 105
            aload 0 /* this */
            aload 3 /* environment */
            invokevirtual java.util.Hashtable.clone:()Ljava/lang/Object;
            checkcast java.util.Hashtable
            putfield com.sun.jndi.dns.DnsContext.environment:Ljava/util/Hashtable;
         9: .line 106
            aload 0 /* this */
            iconst_0
            putfield com.sun.jndi.dns.DnsContext.envShared:Z
        10: .line 107
            aload 0 /* this */
            iconst_0
            putfield com.sun.jndi.dns.DnsContext.parentIsDns:Z
        11: .line 108
            aload 0 /* this */
            aconst_null
            putfield com.sun.jndi.dns.DnsContext.resolver:Lcom/sun/jndi/dns/Resolver;
        12: .line 110
            aload 0 /* this */
            invokevirtual com.sun.jndi.dns.DnsContext.initFromEnvironment:()V
        13: .line 111
            return
        end local 3 // java.util.Hashtable environment
        end local 2 // java.lang.String[] servers
        end local 1 // java.lang.String domain
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0         this  Lcom/sun/jndi/dns/DnsContext;
            0   14     1       domain  Ljava/lang/String;
            0   14     2      servers  [Ljava/lang/String;
            0   14     3  environment  Ljava/util/Hashtable;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
             Name  Flags
      domain       
      servers      
      environment  

  void <init>(com.sun.jndi.dns.DnsContext, com.sun.jndi.dns.DnsName);
    descriptor: (Lcom/sun/jndi/dns/DnsContext;Lcom/sun/jndi/dns/DnsName;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.sun.jndi.dns.DnsContext this
        start local 1 // com.sun.jndi.dns.DnsContext ctx
        start local 2 // com.sun.jndi.dns.DnsName domain
         0: .line 118
            aload 0 /* this */
            aload 1 /* ctx */
            invokespecial com.sun.jndi.dns.DnsContext.<init>:(Lcom/sun/jndi/dns/DnsContext;)V
         1: .line 119
            aload 0 /* this */
            aload 2 /* domain */
            putfield com.sun.jndi.dns.DnsContext.domain:Lcom/sun/jndi/dns/DnsName;
         2: .line 120
            aload 0 /* this */
            iconst_1
            putfield com.sun.jndi.dns.DnsContext.parentIsDns:Z
         3: .line 121
            return
        end local 2 // com.sun.jndi.dns.DnsName domain
        end local 1 // com.sun.jndi.dns.DnsContext ctx
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lcom/sun/jndi/dns/DnsContext;
            0    4     1     ctx  Lcom/sun/jndi/dns/DnsContext;
            0    4     2  domain  Lcom/sun/jndi/dns/DnsName;
    MethodParameters:
        Name  Flags
      ctx     
      domain  

  private void <init>(com.sun.jndi.dns.DnsContext);
    descriptor: (Lcom/sun/jndi/dns/DnsContext;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.jndi.dns.DnsContext this
        start local 1 // com.sun.jndi.dns.DnsContext ctx
         0: .line 130
            aload 0 /* this */
            invokespecial com.sun.jndi.toolkit.ctx.ComponentDirContext.<init>:()V
         1: .line 131
            aload 0 /* this */
            aload 1 /* ctx */
            getfield com.sun.jndi.dns.DnsContext.environment:Ljava/util/Hashtable;
            putfield com.sun.jndi.dns.DnsContext.environment:Ljava/util/Hashtable;
         2: .line 132
            aload 0 /* this */
            aload 1 /* ctx */
            iconst_1
            dup_x1
            putfield com.sun.jndi.dns.DnsContext.envShared:Z
            putfield com.sun.jndi.dns.DnsContext.envShared:Z
         3: .line 133
            aload 0 /* this */
            aload 1 /* ctx */
            getfield com.sun.jndi.dns.DnsContext.parentIsDns:Z
            putfield com.sun.jndi.dns.DnsContext.parentIsDns:Z
         4: .line 134
            aload 0 /* this */
            aload 1 /* ctx */
            getfield com.sun.jndi.dns.DnsContext.domain:Lcom/sun/jndi/dns/DnsName;
            putfield com.sun.jndi.dns.DnsContext.domain:Lcom/sun/jndi/dns/DnsName;
         5: .line 135
            aload 0 /* this */
            aload 1 /* ctx */
            getfield com.sun.jndi.dns.DnsContext.servers:[Ljava/lang/String;
            putfield com.sun.jndi.dns.DnsContext.servers:[Ljava/lang/String;
         6: .line 136
            aload 0 /* this */
            aload 1 /* ctx */
            getfield com.sun.jndi.dns.DnsContext.resolver:Lcom/sun/jndi/dns/Resolver;
            putfield com.sun.jndi.dns.DnsContext.resolver:Lcom/sun/jndi/dns/Resolver;
         7: .line 137
            aload 0 /* this */
            aload 1 /* ctx */
            getfield com.sun.jndi.dns.DnsContext.authoritative:Z
            putfield com.sun.jndi.dns.DnsContext.authoritative:Z
         8: .line 138
            aload 0 /* this */
            aload 1 /* ctx */
            getfield com.sun.jndi.dns.DnsContext.recursion:Z
            putfield com.sun.jndi.dns.DnsContext.recursion:Z
         9: .line 139
            aload 0 /* this */
            aload 1 /* ctx */
            getfield com.sun.jndi.dns.DnsContext.timeout:I
            putfield com.sun.jndi.dns.DnsContext.timeout:I
        10: .line 140
            aload 0 /* this */
            aload 1 /* ctx */
            getfield com.sun.jndi.dns.DnsContext.retries:I
            putfield com.sun.jndi.dns.DnsContext.retries:I
        11: .line 141
            aload 0 /* this */
            aload 1 /* ctx */
            getfield com.sun.jndi.dns.DnsContext.lookupCT:Lcom/sun/jndi/dns/CT;
            putfield com.sun.jndi.dns.DnsContext.lookupCT:Lcom/sun/jndi/dns/CT;
        12: .line 142
            return
        end local 1 // com.sun.jndi.dns.DnsContext ctx
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lcom/sun/jndi/dns/DnsContext;
            0   13     1   ctx  Lcom/sun/jndi/dns/DnsContext;
    MethodParameters:
      Name  Flags
      ctx   

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.jndi.dns.DnsContext this
         0: .line 145
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.resolver:Lcom/sun/jndi/dns/Resolver;
            ifnull 3
         1: .line 146
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.resolver:Lcom/sun/jndi/dns/Resolver;
            invokevirtual com.sun.jndi.dns.Resolver.close:()V
         2: .line 147
            aload 0 /* this */
            aconst_null
            putfield com.sun.jndi.dns.DnsContext.resolver:Lcom/sun/jndi/dns/Resolver;
         3: .line 149
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/jndi/dns/DnsContext;

  protected java.util.Hashtable p_getEnvironment();
    descriptor: ()Ljava/util/Hashtable;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.jndi.dns.DnsContext this
         0: .line 158
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.environment:Ljava/util/Hashtable;
            areturn
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jndi/dns/DnsContext;

  public java.util.Hashtable getEnvironment();
    descriptor: ()Ljava/util/Hashtable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.jndi.dns.DnsContext this
         0: .line 162
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.environment:Ljava/util/Hashtable;
            invokevirtual java.util.Hashtable.clone:()Ljava/lang/Object;
            checkcast java.util.Hashtable
            areturn
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jndi/dns/DnsContext;
    Exceptions:
      throws javax.naming.NamingException

  public java.lang.Object addToEnvironment(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.sun.jndi.dns.DnsContext this
        start local 1 // java.lang.String propName
        start local 2 // java.lang.Object propVal
         0: .line 168
            aload 1 /* propName */
            ldc "com.sun.jndi.dns.lookup.attr"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
         1: .line 169
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* propVal */
            checkcast java.lang.String
            invokevirtual com.sun.jndi.dns.DnsContext.getLookupCT:(Ljava/lang/String;)Lcom/sun/jndi/dns/CT;
            putfield com.sun.jndi.dns.DnsContext.lookupCT:Lcom/sun/jndi/dns/CT;
         2: .line 170
            goto 20
      StackMap locals:
      StackMap stack:
         3: aload 1 /* propName */
            ldc "java.naming.authoritative"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         4: .line 171
            aload 0 /* this */
            ldc "true"
            aload 2 /* propVal */
            checkcast java.lang.String
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            putfield com.sun.jndi.dns.DnsContext.authoritative:Z
         5: .line 172
            goto 20
      StackMap locals:
      StackMap stack:
         6: aload 1 /* propName */
            ldc "com.sun.jndi.dns.recursion"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         7: .line 173
            aload 0 /* this */
            ldc "true"
            aload 2 /* propVal */
            checkcast java.lang.String
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            putfield com.sun.jndi.dns.DnsContext.recursion:Z
         8: .line 174
            goto 20
      StackMap locals:
      StackMap stack:
         9: aload 1 /* propName */
            ldc "com.sun.jndi.dns.timeout.initial"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
        10: .line 175
            aload 2 /* propVal */
            checkcast java.lang.String
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 3 /* val */
        start local 3 // int val
        11: .line 176
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.timeout:I
            iload 3 /* val */
            if_icmpeq 20
        12: .line 177
            aload 0 /* this */
            iload 3 /* val */
            putfield com.sun.jndi.dns.DnsContext.timeout:I
        13: .line 178
            aload 0 /* this */
            aconst_null
            putfield com.sun.jndi.dns.DnsContext.resolver:Lcom/sun/jndi/dns/Resolver;
        end local 3 // int val
        14: .line 180
            goto 20
      StackMap locals:
      StackMap stack:
        15: aload 1 /* propName */
            ldc "com.sun.jndi.dns.timeout.retries"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 20
        16: .line 181
            aload 2 /* propVal */
            checkcast java.lang.String
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 3 /* val */
        start local 3 // int val
        17: .line 182
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.retries:I
            iload 3 /* val */
            if_icmpeq 20
        18: .line 183
            aload 0 /* this */
            iload 3 /* val */
            putfield com.sun.jndi.dns.DnsContext.retries:I
        19: .line 184
            aload 0 /* this */
            aconst_null
            putfield com.sun.jndi.dns.DnsContext.resolver:Lcom/sun/jndi/dns/Resolver;
        end local 3 // int val
        20: .line 188
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.envShared:Z
            ifne 22
        21: .line 189
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.environment:Ljava/util/Hashtable;
            aload 1 /* propName */
            aload 2 /* propVal */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        22: .line 190
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.environment:Ljava/util/Hashtable;
            aload 1 /* propName */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            aload 2 /* propVal */
            if_acmpeq 26
        23: .line 192
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.environment:Ljava/util/Hashtable;
            invokevirtual java.util.Hashtable.clone:()Ljava/lang/Object;
            checkcast java.util.Hashtable
            putfield com.sun.jndi.dns.DnsContext.environment:Ljava/util/Hashtable;
        24: .line 193
            aload 0 /* this */
            iconst_0
            putfield com.sun.jndi.dns.DnsContext.envShared:Z
        25: .line 194
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.environment:Ljava/util/Hashtable;
            aload 1 /* propName */
            aload 2 /* propVal */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        26: .line 196
      StackMap locals:
      StackMap stack:
            aload 2 /* propVal */
            areturn
        end local 2 // java.lang.Object propVal
        end local 1 // java.lang.String propName
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   27     0      this  Lcom/sun/jndi/dns/DnsContext;
            0   27     1  propName  Ljava/lang/String;
            0   27     2   propVal  Ljava/lang/Object;
           11   14     3       val  I
           17   20     3       val  I
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
          Name  Flags
      propName  
      propVal   

  public java.lang.Object removeFromEnvironment(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.jndi.dns.DnsContext this
        start local 1 // java.lang.String propName
         0: .line 203
            aload 1 /* propName */
            ldc "com.sun.jndi.dns.lookup.attr"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
         1: .line 204
            aload 0 /* this */
            aload 0 /* this */
            aconst_null
            invokevirtual com.sun.jndi.dns.DnsContext.getLookupCT:(Ljava/lang/String;)Lcom/sun/jndi/dns/CT;
            putfield com.sun.jndi.dns.DnsContext.lookupCT:Lcom/sun/jndi/dns/CT;
         2: .line 205
            goto 18
      StackMap locals:
      StackMap stack:
         3: aload 1 /* propName */
            ldc "java.naming.authoritative"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         4: .line 206
            aload 0 /* this */
            iconst_0
            putfield com.sun.jndi.dns.DnsContext.authoritative:Z
         5: .line 207
            goto 18
      StackMap locals:
      StackMap stack:
         6: aload 1 /* propName */
            ldc "com.sun.jndi.dns.recursion"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         7: .line 208
            aload 0 /* this */
            iconst_1
            putfield com.sun.jndi.dns.DnsContext.recursion:Z
         8: .line 209
            goto 18
      StackMap locals:
      StackMap stack:
         9: aload 1 /* propName */
            ldc "com.sun.jndi.dns.timeout.initial"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
        10: .line 210
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.timeout:I
            sipush 1000
            if_icmpeq 18
        11: .line 211
            aload 0 /* this */
            sipush 1000
            putfield com.sun.jndi.dns.DnsContext.timeout:I
        12: .line 212
            aload 0 /* this */
            aconst_null
            putfield com.sun.jndi.dns.DnsContext.resolver:Lcom/sun/jndi/dns/Resolver;
        13: .line 214
            goto 18
      StackMap locals:
      StackMap stack:
        14: aload 1 /* propName */
            ldc "com.sun.jndi.dns.timeout.retries"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
        15: .line 215
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.retries:I
            iconst_4
            if_icmpeq 18
        16: .line 216
            aload 0 /* this */
            iconst_4
            putfield com.sun.jndi.dns.DnsContext.retries:I
        17: .line 217
            aload 0 /* this */
            aconst_null
            putfield com.sun.jndi.dns.DnsContext.resolver:Lcom/sun/jndi/dns/Resolver;
        18: .line 221
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.envShared:Z
            ifne 20
        19: .line 222
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.environment:Ljava/util/Hashtable;
            aload 1 /* propName */
            invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        20: .line 223
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.environment:Ljava/util/Hashtable;
            aload 1 /* propName */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 24
        21: .line 225
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.environment:Ljava/util/Hashtable;
            invokevirtual java.util.Hashtable.clone:()Ljava/lang/Object;
            checkcast java.util.Hashtable
            putfield com.sun.jndi.dns.DnsContext.environment:Ljava/util/Hashtable;
        22: .line 226
            aload 0 /* this */
            iconst_0
            putfield com.sun.jndi.dns.DnsContext.envShared:Z
        23: .line 227
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.environment:Ljava/util/Hashtable;
            aload 1 /* propName */
            invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        24: .line 229
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.String propName
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   25     0      this  Lcom/sun/jndi/dns/DnsContext;
            0   25     1  propName  Ljava/lang/String;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
          Name  Flags
      propName  

  void setProviderUrl(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.jndi.dns.DnsContext this
        start local 1 // java.lang.String url
         0: .line 239
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.environment:Ljava/util/Hashtable;
            ldc "java.naming.provider.url"
            aload 1 /* url */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 240
            return
        end local 1 // java.lang.String url
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/jndi/dns/DnsContext;
            0    2     1   url  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      url   

  private void initFromEnvironment();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.sun.jndi.dns.DnsContext this
         0: .line 248
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.environment:Ljava/util/Hashtable;
            ldc "com.sun.jndi.dns.lookup.attr"
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual com.sun.jndi.dns.DnsContext.getLookupCT:(Ljava/lang/String;)Lcom/sun/jndi/dns/CT;
            putfield com.sun.jndi.dns.DnsContext.lookupCT:Lcom/sun/jndi/dns/CT;
         1: .line 249
            aload 0 /* this */
            ldc "true"
         2: .line 250
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.environment:Ljava/util/Hashtable;
            ldc "java.naming.authoritative"
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
         3: .line 249
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            putfield com.sun.jndi.dns.DnsContext.authoritative:Z
         4: .line 251
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.environment:Ljava/util/Hashtable;
            ldc "com.sun.jndi.dns.recursion"
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* val */
        start local 1 // java.lang.String val
         5: .line 252
            aload 0 /* this */
            aload 1 /* val */
            ifnull 7
         6: .line 253
            ldc "true"
            aload 1 /* val */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 7
            iconst_0
            goto 8
      StackMap locals: com.sun.jndi.dns.DnsContext java.lang.String
      StackMap stack: com.sun.jndi.dns.DnsContext
         7: iconst_1
         8: .line 252
      StackMap locals: com.sun.jndi.dns.DnsContext java.lang.String
      StackMap stack: com.sun.jndi.dns.DnsContext int
            putfield com.sun.jndi.dns.DnsContext.recursion:Z
         9: .line 254
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.environment:Ljava/util/Hashtable;
            ldc "com.sun.jndi.dns.timeout.initial"
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* val */
        10: .line 255
            aload 0 /* this */
            aload 1 /* val */
            ifnonnull 12
        11: .line 256
            sipush 1000
            goto 13
        12: .line 257
      StackMap locals:
      StackMap stack: com.sun.jndi.dns.DnsContext
            aload 1 /* val */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
        13: .line 255
      StackMap locals: com.sun.jndi.dns.DnsContext java.lang.String
      StackMap stack: com.sun.jndi.dns.DnsContext int
            putfield com.sun.jndi.dns.DnsContext.timeout:I
        14: .line 258
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.environment:Ljava/util/Hashtable;
            ldc "com.sun.jndi.dns.timeout.retries"
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* val */
        15: .line 259
            aload 0 /* this */
            aload 1 /* val */
            ifnonnull 17
        16: .line 260
            iconst_4
            goto 18
        17: .line 261
      StackMap locals:
      StackMap stack: com.sun.jndi.dns.DnsContext
            aload 1 /* val */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
        18: .line 259
      StackMap locals: com.sun.jndi.dns.DnsContext java.lang.String
      StackMap stack: com.sun.jndi.dns.DnsContext int
            putfield com.sun.jndi.dns.DnsContext.retries:I
        19: .line 262
            return
        end local 1 // java.lang.String val
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Lcom/sun/jndi/dns/DnsContext;
            5   20     1   val  Ljava/lang/String;
    Exceptions:
      throws javax.naming.directory.InvalidAttributeIdentifierException

  private com.sun.jndi.dns.CT getLookupCT(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/sun/jndi/dns/CT;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.jndi.dns.DnsContext this
        start local 1 // java.lang.String attrId
         0: .line 266
            aload 1 /* attrId */
            ifnonnull 2
         1: .line 267
            new com.sun.jndi.dns.CT
            dup
            iconst_1
            bipush 16
            invokespecial com.sun.jndi.dns.CT.<init>:(II)V
            goto 3
         2: .line 268
      StackMap locals:
      StackMap stack:
            aload 1 /* attrId */
            invokestatic com.sun.jndi.dns.DnsContext.fromAttrId:(Ljava/lang/String;)Lcom/sun/jndi/dns/CT;
         3: .line 266
      StackMap locals:
      StackMap stack: com.sun.jndi.dns.CT
            areturn
        end local 1 // java.lang.String attrId
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lcom/sun/jndi/dns/DnsContext;
            0    4     1  attrId  Ljava/lang/String;
    Exceptions:
      throws javax.naming.directory.InvalidAttributeIdentifierException
    MethodParameters:
        Name  Flags
      attrId  

  public java.lang.Object c_lookup(javax.naming.Name, com.sun.jndi.toolkit.ctx.Continuation);
    descriptor: (Ljavax/naming/Name;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=3
        start local 0 // com.sun.jndi.dns.DnsContext this
        start local 1 // javax.naming.Name name
        start local 2 // com.sun.jndi.toolkit.ctx.Continuation cont
         0: .line 277
            aload 2 /* cont */
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setSuccess:()V
         1: .line 278
            aload 1 /* name */
            invokeinterface javax.naming.Name.isEmpty:()Z
            ifeq 5
         2: .line 279
            new com.sun.jndi.dns.DnsContext
            dup
            aload 0 /* this */
            invokespecial com.sun.jndi.dns.DnsContext.<init>:(Lcom/sun/jndi/dns/DnsContext;)V
            astore 3 /* ctx */
        start local 3 // com.sun.jndi.dns.DnsContext ctx
         3: .line 280
            aload 3 /* ctx */
            new com.sun.jndi.dns.Resolver
            dup
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.servers:[Ljava/lang/String;
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.timeout:I
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.retries:I
            invokespecial com.sun.jndi.dns.Resolver.<init>:([Ljava/lang/String;II)V
            putfield com.sun.jndi.dns.DnsContext.resolver:Lcom/sun/jndi/dns/Resolver;
         4: .line 282
            aload 3 /* ctx */
            areturn
        end local 3 // com.sun.jndi.dns.DnsContext ctx
         5: .line 285
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.sun.jndi.dns.DnsContext.fullyQualify:(Ljavax/naming/Name;)Lcom/sun/jndi/dns/DnsName;
            astore 3 /* fqdn */
        start local 3 // com.sun.jndi.dns.DnsName fqdn
         6: .line 287
            aload 0 /* this */
            invokevirtual com.sun.jndi.dns.DnsContext.getResolver:()Lcom/sun/jndi/dns/Resolver;
            aload 3 /* fqdn */
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.lookupCT:Lcom/sun/jndi/dns/CT;
            getfield com.sun.jndi.dns.CT.rrclass:I
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.lookupCT:Lcom/sun/jndi/dns/CT;
            getfield com.sun.jndi.dns.CT.rrtype:I
         7: .line 288
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.recursion:Z
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.authoritative:Z
         8: .line 287
            invokevirtual com.sun.jndi.dns.Resolver.query:(Lcom/sun/jndi/dns/DnsName;IIZZ)Lcom/sun/jndi/dns/ResourceRecords;
         9: .line 286
            astore 4 /* rrs */
        start local 4 // com.sun.jndi.dns.ResourceRecords rrs
        10: .line 289
            aload 4 /* rrs */
            aconst_null
            invokestatic com.sun.jndi.dns.DnsContext.rrsToAttrs:(Lcom/sun/jndi/dns/ResourceRecords;[Lcom/sun/jndi/dns/CT;)Ljavax/naming/directory/Attributes;
            astore 5 /* attrs */
        start local 5 // javax.naming.directory.Attributes attrs
        11: .line 290
            new com.sun.jndi.dns.DnsContext
            dup
            aload 0 /* this */
            aload 3 /* fqdn */
            invokespecial com.sun.jndi.dns.DnsContext.<init>:(Lcom/sun/jndi/dns/DnsContext;Lcom/sun/jndi/dns/DnsName;)V
            astore 6 /* ctx */
        start local 6 // com.sun.jndi.dns.DnsContext ctx
        12: .line 291
            aload 6 /* ctx */
            aload 1 /* name */
            aload 0 /* this */
        13: .line 292
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.environment:Ljava/util/Hashtable;
            aload 5 /* attrs */
        14: .line 291
            invokestatic javax.naming.spi.DirectoryManager.getObjectInstance:(Ljava/lang/Object;Ljavax/naming/Name;Ljavax/naming/Context;Ljava/util/Hashtable;Ljavax/naming/directory/Attributes;)Ljava/lang/Object;
        15: areturn
        end local 6 // com.sun.jndi.dns.DnsContext ctx
        end local 5 // javax.naming.directory.Attributes attrs
        end local 4 // com.sun.jndi.dns.ResourceRecords rrs
        end local 3 // com.sun.jndi.dns.DnsName fqdn
        16: .line 293
      StackMap locals:
      StackMap stack: javax.naming.NamingException
            astore 3 /* e */
        start local 3 // javax.naming.NamingException e
        17: .line 294
            aload 2 /* cont */
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setError:(Ljava/lang/Object;Ljavax/naming/Name;)V
        18: .line 295
            aload 2 /* cont */
            aload 3 /* e */
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
            athrow
        end local 3 // javax.naming.NamingException e
        19: .line 296
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 3 /* e */
        start local 3 // java.lang.Exception e
        20: .line 297
            aload 2 /* cont */
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setError:(Ljava/lang/Object;Ljavax/naming/Name;)V
        21: .line 298
            new javax.naming.NamingException
            dup
        22: .line 299
            ldc "Problem generating object using object factory"
        23: .line 298
            invokespecial javax.naming.NamingException.<init>:(Ljava/lang/String;)V
            astore 4 /* ne */
        start local 4 // javax.naming.NamingException ne
        24: .line 300
            aload 4 /* ne */
            aload 3 /* e */
            invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
        25: .line 301
            aload 2 /* cont */
            aload 4 /* ne */
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
            athrow
        end local 4 // javax.naming.NamingException ne
        end local 3 // java.lang.Exception e
        end local 2 // com.sun.jndi.toolkit.ctx.Continuation cont
        end local 1 // javax.naming.Name name
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   26     0   this  Lcom/sun/jndi/dns/DnsContext;
            0   26     1   name  Ljavax/naming/Name;
            0   26     2   cont  Lcom/sun/jndi/toolkit/ctx/Continuation;
            3    5     3    ctx  Lcom/sun/jndi/dns/DnsContext;
            6   16     3   fqdn  Lcom/sun/jndi/dns/DnsName;
           10   16     4    rrs  Lcom/sun/jndi/dns/ResourceRecords;
           11   16     5  attrs  Ljavax/naming/directory/Attributes;
           12   16     6    ctx  Lcom/sun/jndi/dns/DnsContext;
           17   19     3      e  Ljavax/naming/NamingException;
           20   26     3      e  Ljava/lang/Exception;
           24   26     4     ne  Ljavax/naming/NamingException;
      Exception table:
        from    to  target  type
           5    15      16  Class javax.naming.NamingException
           5    15      19  Class java.lang.Exception
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      name  
      cont  

  public java.lang.Object c_lookupLink(javax.naming.Name, com.sun.jndi.toolkit.ctx.Continuation);
    descriptor: (Ljavax/naming/Name;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.jndi.dns.DnsContext this
        start local 1 // javax.naming.Name name
        start local 2 // com.sun.jndi.toolkit.ctx.Continuation cont
         0: .line 307
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* cont */
            invokevirtual com.sun.jndi.dns.DnsContext.c_lookup:(Ljavax/naming/Name;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljava/lang/Object;
            areturn
        end local 2 // com.sun.jndi.toolkit.ctx.Continuation cont
        end local 1 // javax.naming.Name name
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jndi/dns/DnsContext;
            0    1     1  name  Ljavax/naming/Name;
            0    1     2  cont  Lcom/sun/jndi/toolkit/ctx/Continuation;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      name  
      cont  

  public javax.naming.NamingEnumeration c_list(javax.naming.Name, com.sun.jndi.toolkit.ctx.Continuation);
    descriptor: (Ljavax/naming/Name;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/NamingEnumeration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // com.sun.jndi.dns.DnsContext this
        start local 1 // javax.naming.Name name
        start local 2 // com.sun.jndi.toolkit.ctx.Continuation cont
         0: .line 312
            aload 2 /* cont */
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setSuccess:()V
         1: .line 314
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.sun.jndi.dns.DnsContext.fullyQualify:(Ljavax/naming/Name;)Lcom/sun/jndi/dns/DnsName;
            astore 3 /* fqdn */
        start local 3 // com.sun.jndi.dns.DnsName fqdn
         2: .line 315
            aload 0 /* this */
            aload 3 /* fqdn */
            invokevirtual com.sun.jndi.dns.DnsContext.getNameNode:(Lcom/sun/jndi/dns/DnsName;)Lcom/sun/jndi/dns/NameNode;
            astore 4 /* nnode */
        start local 4 // com.sun.jndi.dns.NameNode nnode
         3: .line 316
            new com.sun.jndi.dns.DnsContext
            dup
            aload 0 /* this */
            aload 3 /* fqdn */
            invokespecial com.sun.jndi.dns.DnsContext.<init>:(Lcom/sun/jndi/dns/DnsContext;Lcom/sun/jndi/dns/DnsName;)V
            astore 5 /* ctx */
        start local 5 // com.sun.jndi.dns.DnsContext ctx
         4: .line 317
            new com.sun.jndi.dns.NameClassPairEnumeration
            dup
            aload 5 /* ctx */
            aload 4 /* nnode */
            invokevirtual com.sun.jndi.dns.NameNode.getChildren:()Ljava/util/Hashtable;
            invokespecial com.sun.jndi.dns.NameClassPairEnumeration.<init>:(Lcom/sun/jndi/dns/DnsContext;Ljava/util/Hashtable;)V
         5: areturn
        end local 5 // com.sun.jndi.dns.DnsContext ctx
        end local 4 // com.sun.jndi.dns.NameNode nnode
        end local 3 // com.sun.jndi.dns.DnsName fqdn
         6: .line 319
      StackMap locals:
      StackMap stack: javax.naming.NamingException
            astore 3 /* e */
        start local 3 // javax.naming.NamingException e
         7: .line 320
            aload 2 /* cont */
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setError:(Ljava/lang/Object;Ljavax/naming/Name;)V
         8: .line 321
            aload 2 /* cont */
            aload 3 /* e */
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
            athrow
        end local 3 // javax.naming.NamingException e
        end local 2 // com.sun.jndi.toolkit.ctx.Continuation cont
        end local 1 // javax.naming.Name name
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lcom/sun/jndi/dns/DnsContext;
            0    9     1   name  Ljavax/naming/Name;
            0    9     2   cont  Lcom/sun/jndi/toolkit/ctx/Continuation;
            2    6     3   fqdn  Lcom/sun/jndi/dns/DnsName;
            3    6     4  nnode  Lcom/sun/jndi/dns/NameNode;
            4    6     5    ctx  Lcom/sun/jndi/dns/DnsContext;
            7    9     3      e  Ljavax/naming/NamingException;
      Exception table:
        from    to  target  type
           1     5       6  Class javax.naming.NamingException
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      name  
      cont  

  public javax.naming.NamingEnumeration c_listBindings(javax.naming.Name, com.sun.jndi.toolkit.ctx.Continuation);
    descriptor: (Ljavax/naming/Name;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/NamingEnumeration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // com.sun.jndi.dns.DnsContext this
        start local 1 // javax.naming.Name name
        start local 2 // com.sun.jndi.toolkit.ctx.Continuation cont
         0: .line 327
            aload 2 /* cont */
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setSuccess:()V
         1: .line 329
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.sun.jndi.dns.DnsContext.fullyQualify:(Ljavax/naming/Name;)Lcom/sun/jndi/dns/DnsName;
            astore 3 /* fqdn */
        start local 3 // com.sun.jndi.dns.DnsName fqdn
         2: .line 330
            aload 0 /* this */
            aload 3 /* fqdn */
            invokevirtual com.sun.jndi.dns.DnsContext.getNameNode:(Lcom/sun/jndi/dns/DnsName;)Lcom/sun/jndi/dns/NameNode;
            astore 4 /* nnode */
        start local 4 // com.sun.jndi.dns.NameNode nnode
         3: .line 331
            new com.sun.jndi.dns.DnsContext
            dup
            aload 0 /* this */
            aload 3 /* fqdn */
            invokespecial com.sun.jndi.dns.DnsContext.<init>:(Lcom/sun/jndi/dns/DnsContext;Lcom/sun/jndi/dns/DnsName;)V
            astore 5 /* ctx */
        start local 5 // com.sun.jndi.dns.DnsContext ctx
         4: .line 332
            new com.sun.jndi.dns.BindingEnumeration
            dup
            aload 5 /* ctx */
            aload 4 /* nnode */
            invokevirtual com.sun.jndi.dns.NameNode.getChildren:()Ljava/util/Hashtable;
            invokespecial com.sun.jndi.dns.BindingEnumeration.<init>:(Lcom/sun/jndi/dns/DnsContext;Ljava/util/Hashtable;)V
         5: areturn
        end local 5 // com.sun.jndi.dns.DnsContext ctx
        end local 4 // com.sun.jndi.dns.NameNode nnode
        end local 3 // com.sun.jndi.dns.DnsName fqdn
         6: .line 334
      StackMap locals:
      StackMap stack: javax.naming.NamingException
            astore 3 /* e */
        start local 3 // javax.naming.NamingException e
         7: .line 335
            aload 2 /* cont */
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setError:(Ljava/lang/Object;Ljavax/naming/Name;)V
         8: .line 336
            aload 2 /* cont */
            aload 3 /* e */
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
            athrow
        end local 3 // javax.naming.NamingException e
        end local 2 // com.sun.jndi.toolkit.ctx.Continuation cont
        end local 1 // javax.naming.Name name
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lcom/sun/jndi/dns/DnsContext;
            0    9     1   name  Ljavax/naming/Name;
            0    9     2   cont  Lcom/sun/jndi/toolkit/ctx/Continuation;
            2    6     3   fqdn  Lcom/sun/jndi/dns/DnsName;
            3    6     4  nnode  Lcom/sun/jndi/dns/NameNode;
            4    6     5    ctx  Lcom/sun/jndi/dns/DnsContext;
            7    9     3      e  Ljavax/naming/NamingException;
      Exception table:
        from    to  target  type
           1     5       6  Class javax.naming.NamingException
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      name  
      cont  

  public void c_bind(javax.naming.Name, java.lang.Object, com.sun.jndi.toolkit.ctx.Continuation);
    descriptor: (Ljavax/naming/Name;Ljava/lang/Object;Lcom/sun/jndi/toolkit/ctx/Continuation;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.sun.jndi.dns.DnsContext this
        start local 1 // javax.naming.Name name
        start local 2 // java.lang.Object obj
        start local 3 // com.sun.jndi.toolkit.ctx.Continuation cont
         0: .line 342
            aload 3 /* cont */
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setError:(Ljava/lang/Object;Ljavax/naming/Name;)V
         1: .line 343
            aload 3 /* cont */
         2: .line 344
            new javax.naming.OperationNotSupportedException
            dup
            invokespecial javax.naming.OperationNotSupportedException.<init>:()V
         3: .line 343
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
            athrow
        end local 3 // com.sun.jndi.toolkit.ctx.Continuation cont
        end local 2 // java.lang.Object obj
        end local 1 // javax.naming.Name name
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/jndi/dns/DnsContext;
            0    4     1  name  Ljavax/naming/Name;
            0    4     2   obj  Ljava/lang/Object;
            0    4     3  cont  Lcom/sun/jndi/toolkit/ctx/Continuation;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      name  
      obj   
      cont  

  public void c_rebind(javax.naming.Name, java.lang.Object, com.sun.jndi.toolkit.ctx.Continuation);
    descriptor: (Ljavax/naming/Name;Ljava/lang/Object;Lcom/sun/jndi/toolkit/ctx/Continuation;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.sun.jndi.dns.DnsContext this
        start local 1 // javax.naming.Name name
        start local 2 // java.lang.Object obj
        start local 3 // com.sun.jndi.toolkit.ctx.Continuation cont
         0: .line 349
            aload 3 /* cont */
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setError:(Ljava/lang/Object;Ljavax/naming/Name;)V
         1: .line 350
            aload 3 /* cont */
         2: .line 351
            new javax.naming.OperationNotSupportedException
            dup
            invokespecial javax.naming.OperationNotSupportedException.<init>:()V
         3: .line 350
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
            athrow
        end local 3 // com.sun.jndi.toolkit.ctx.Continuation cont
        end local 2 // java.lang.Object obj
        end local 1 // javax.naming.Name name
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/jndi/dns/DnsContext;
            0    4     1  name  Ljavax/naming/Name;
            0    4     2   obj  Ljava/lang/Object;
            0    4     3  cont  Lcom/sun/jndi/toolkit/ctx/Continuation;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      name  
      obj   
      cont  

  public void c_unbind(javax.naming.Name, com.sun.jndi.toolkit.ctx.Continuation);
    descriptor: (Ljavax/naming/Name;Lcom/sun/jndi/toolkit/ctx/Continuation;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.jndi.dns.DnsContext this
        start local 1 // javax.naming.Name name
        start local 2 // com.sun.jndi.toolkit.ctx.Continuation cont
         0: .line 356
            aload 2 /* cont */
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setError:(Ljava/lang/Object;Ljavax/naming/Name;)V
         1: .line 357
            aload 2 /* cont */
         2: .line 358
            new javax.naming.OperationNotSupportedException
            dup
            invokespecial javax.naming.OperationNotSupportedException.<init>:()V
         3: .line 357
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
            athrow
        end local 2 // com.sun.jndi.toolkit.ctx.Continuation cont
        end local 1 // javax.naming.Name name
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/jndi/dns/DnsContext;
            0    4     1  name  Ljavax/naming/Name;
            0    4     2  cont  Lcom/sun/jndi/toolkit/ctx/Continuation;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      name  
      cont  

  public void c_rename(javax.naming.Name, javax.naming.Name, com.sun.jndi.toolkit.ctx.Continuation);
    descriptor: (Ljavax/naming/Name;Ljavax/naming/Name;Lcom/sun/jndi/toolkit/ctx/Continuation;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.sun.jndi.dns.DnsContext this
        start local 1 // javax.naming.Name oldname
        start local 2 // javax.naming.Name newname
        start local 3 // com.sun.jndi.toolkit.ctx.Continuation cont
         0: .line 363
            aload 3 /* cont */
            aload 0 /* this */
            aload 1 /* oldname */
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setError:(Ljava/lang/Object;Ljavax/naming/Name;)V
         1: .line 364
            aload 3 /* cont */
         2: .line 365
            new javax.naming.OperationNotSupportedException
            dup
            invokespecial javax.naming.OperationNotSupportedException.<init>:()V
         3: .line 364
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
            athrow
        end local 3 // com.sun.jndi.toolkit.ctx.Continuation cont
        end local 2 // javax.naming.Name newname
        end local 1 // javax.naming.Name oldname
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lcom/sun/jndi/dns/DnsContext;
            0    4     1  oldname  Ljavax/naming/Name;
            0    4     2  newname  Ljavax/naming/Name;
            0    4     3     cont  Lcom/sun/jndi/toolkit/ctx/Continuation;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
         Name  Flags
      oldname  
      newname  
      cont     

  public javax.naming.Context c_createSubcontext(javax.naming.Name, com.sun.jndi.toolkit.ctx.Continuation);
    descriptor: (Ljavax/naming/Name;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/Context;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.jndi.dns.DnsContext this
        start local 1 // javax.naming.Name name
        start local 2 // com.sun.jndi.toolkit.ctx.Continuation cont
         0: .line 370
            aload 2 /* cont */
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setError:(Ljava/lang/Object;Ljavax/naming/Name;)V
         1: .line 371
            aload 2 /* cont */
         2: .line 372
            new javax.naming.OperationNotSupportedException
            dup
            invokespecial javax.naming.OperationNotSupportedException.<init>:()V
         3: .line 371
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
            athrow
        end local 2 // com.sun.jndi.toolkit.ctx.Continuation cont
        end local 1 // javax.naming.Name name
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/jndi/dns/DnsContext;
            0    4     1  name  Ljavax/naming/Name;
            0    4     2  cont  Lcom/sun/jndi/toolkit/ctx/Continuation;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      name  
      cont  

  public void c_destroySubcontext(javax.naming.Name, com.sun.jndi.toolkit.ctx.Continuation);
    descriptor: (Ljavax/naming/Name;Lcom/sun/jndi/toolkit/ctx/Continuation;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.jndi.dns.DnsContext this
        start local 1 // javax.naming.Name name
        start local 2 // com.sun.jndi.toolkit.ctx.Continuation cont
         0: .line 377
            aload 2 /* cont */
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setError:(Ljava/lang/Object;Ljavax/naming/Name;)V
         1: .line 378
            aload 2 /* cont */
         2: .line 379
            new javax.naming.OperationNotSupportedException
            dup
            invokespecial javax.naming.OperationNotSupportedException.<init>:()V
         3: .line 378
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
            athrow
        end local 2 // com.sun.jndi.toolkit.ctx.Continuation cont
        end local 1 // javax.naming.Name name
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/jndi/dns/DnsContext;
            0    4     1  name  Ljavax/naming/Name;
            0    4     2  cont  Lcom/sun/jndi/toolkit/ctx/Continuation;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      name  
      cont  

  public javax.naming.NameParser c_getNameParser(javax.naming.Name, com.sun.jndi.toolkit.ctx.Continuation);
    descriptor: (Ljavax/naming/Name;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/NameParser;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // com.sun.jndi.dns.DnsContext this
        start local 1 // javax.naming.Name name
        start local 2 // com.sun.jndi.toolkit.ctx.Continuation cont
         0: .line 384
            aload 2 /* cont */
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setSuccess:()V
         1: .line 385
            getstatic com.sun.jndi.dns.DnsContext.nameParser:Ljavax/naming/NameParser;
            areturn
        end local 2 // com.sun.jndi.toolkit.ctx.Continuation cont
        end local 1 // javax.naming.Name name
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/jndi/dns/DnsContext;
            0    2     1  name  Ljavax/naming/Name;
            0    2     2  cont  Lcom/sun/jndi/toolkit/ctx/Continuation;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      name  
      cont  

  public void c_bind(javax.naming.Name, java.lang.Object, javax.naming.directory.Attributes, com.sun.jndi.toolkit.ctx.Continuation);
    descriptor: (Ljavax/naming/Name;Ljava/lang/Object;Ljavax/naming/directory/Attributes;Lcom/sun/jndi/toolkit/ctx/Continuation;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // com.sun.jndi.dns.DnsContext this
        start local 1 // javax.naming.Name name
        start local 2 // java.lang.Object obj
        start local 3 // javax.naming.directory.Attributes attrs
        start local 4 // com.sun.jndi.toolkit.ctx.Continuation cont
         0: .line 396
            aload 4 /* cont */
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setError:(Ljava/lang/Object;Ljavax/naming/Name;)V
         1: .line 397
            aload 4 /* cont */
         2: .line 398
            new javax.naming.OperationNotSupportedException
            dup
            invokespecial javax.naming.OperationNotSupportedException.<init>:()V
         3: .line 397
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
            athrow
        end local 4 // com.sun.jndi.toolkit.ctx.Continuation cont
        end local 3 // javax.naming.directory.Attributes attrs
        end local 2 // java.lang.Object obj
        end local 1 // javax.naming.Name name
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lcom/sun/jndi/dns/DnsContext;
            0    4     1   name  Ljavax/naming/Name;
            0    4     2    obj  Ljava/lang/Object;
            0    4     3  attrs  Ljavax/naming/directory/Attributes;
            0    4     4   cont  Lcom/sun/jndi/toolkit/ctx/Continuation;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
       Name  Flags
      name   
      obj    
      attrs  
      cont   

  public void c_rebind(javax.naming.Name, java.lang.Object, javax.naming.directory.Attributes, com.sun.jndi.toolkit.ctx.Continuation);
    descriptor: (Ljavax/naming/Name;Ljava/lang/Object;Ljavax/naming/directory/Attributes;Lcom/sun/jndi/toolkit/ctx/Continuation;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // com.sun.jndi.dns.DnsContext this
        start local 1 // javax.naming.Name name
        start local 2 // java.lang.Object obj
        start local 3 // javax.naming.directory.Attributes attrs
        start local 4 // com.sun.jndi.toolkit.ctx.Continuation cont
         0: .line 406
            aload 4 /* cont */
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setError:(Ljava/lang/Object;Ljavax/naming/Name;)V
         1: .line 407
            aload 4 /* cont */
         2: .line 408
            new javax.naming.OperationNotSupportedException
            dup
            invokespecial javax.naming.OperationNotSupportedException.<init>:()V
         3: .line 407
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
            athrow
        end local 4 // com.sun.jndi.toolkit.ctx.Continuation cont
        end local 3 // javax.naming.directory.Attributes attrs
        end local 2 // java.lang.Object obj
        end local 1 // javax.naming.Name name
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lcom/sun/jndi/dns/DnsContext;
            0    4     1   name  Ljavax/naming/Name;
            0    4     2    obj  Ljava/lang/Object;
            0    4     3  attrs  Ljavax/naming/directory/Attributes;
            0    4     4   cont  Lcom/sun/jndi/toolkit/ctx/Continuation;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
       Name  Flags
      name   
      obj    
      attrs  
      cont   

  public javax.naming.directory.DirContext c_createSubcontext(javax.naming.Name, javax.naming.directory.Attributes, com.sun.jndi.toolkit.ctx.Continuation);
    descriptor: (Ljavax/naming/Name;Ljavax/naming/directory/Attributes;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/directory/DirContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.sun.jndi.dns.DnsContext this
        start local 1 // javax.naming.Name name
        start local 2 // javax.naming.directory.Attributes attrs
        start local 3 // com.sun.jndi.toolkit.ctx.Continuation cont
         0: .line 415
            aload 3 /* cont */
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setError:(Ljava/lang/Object;Ljavax/naming/Name;)V
         1: .line 416
            aload 3 /* cont */
         2: .line 417
            new javax.naming.OperationNotSupportedException
            dup
            invokespecial javax.naming.OperationNotSupportedException.<init>:()V
         3: .line 416
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
            athrow
        end local 3 // com.sun.jndi.toolkit.ctx.Continuation cont
        end local 2 // javax.naming.directory.Attributes attrs
        end local 1 // javax.naming.Name name
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lcom/sun/jndi/dns/DnsContext;
            0    4     1   name  Ljavax/naming/Name;
            0    4     2  attrs  Ljavax/naming/directory/Attributes;
            0    4     3   cont  Lcom/sun/jndi/toolkit/ctx/Continuation;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
       Name  Flags
      name   
      attrs  
      cont   

  public javax.naming.directory.Attributes c_getAttributes(javax.naming.Name, java.lang.String[], com.sun.jndi.toolkit.ctx.Continuation);
    descriptor: (Ljavax/naming/Name;[Ljava/lang/String;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/directory/Attributes;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // com.sun.jndi.dns.DnsContext this
        start local 1 // javax.naming.Name name
        start local 2 // java.lang.String[] attrIds
        start local 3 // com.sun.jndi.toolkit.ctx.Continuation cont
         0: .line 425
            aload 3 /* cont */
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setSuccess:()V
         1: .line 427
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.sun.jndi.dns.DnsContext.fullyQualify:(Ljavax/naming/Name;)Lcom/sun/jndi/dns/DnsName;
            astore 4 /* fqdn */
        start local 4 // com.sun.jndi.dns.DnsName fqdn
         2: .line 428
            aload 2 /* attrIds */
            invokestatic com.sun.jndi.dns.DnsContext.attrIdsToClassesAndTypes:([Ljava/lang/String;)[Lcom/sun/jndi/dns/CT;
            astore 5 /* cts */
        start local 5 // com.sun.jndi.dns.CT[] cts
         3: .line 429
            aload 5 /* cts */
            invokestatic com.sun.jndi.dns.DnsContext.getClassAndTypeToQuery:([Lcom/sun/jndi/dns/CT;)Lcom/sun/jndi/dns/CT;
            astore 6 /* ct */
        start local 6 // com.sun.jndi.dns.CT ct
         4: .line 431
            aload 0 /* this */
            invokevirtual com.sun.jndi.dns.DnsContext.getResolver:()Lcom/sun/jndi/dns/Resolver;
            aload 4 /* fqdn */
            aload 6 /* ct */
            getfield com.sun.jndi.dns.CT.rrclass:I
            aload 6 /* ct */
            getfield com.sun.jndi.dns.CT.rrtype:I
         5: .line 432
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.recursion:Z
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.authoritative:Z
         6: .line 431
            invokevirtual com.sun.jndi.dns.Resolver.query:(Lcom/sun/jndi/dns/DnsName;IIZZ)Lcom/sun/jndi/dns/ResourceRecords;
         7: .line 430
            astore 7 /* rrs */
        start local 7 // com.sun.jndi.dns.ResourceRecords rrs
         8: .line 433
            aload 7 /* rrs */
            aload 5 /* cts */
            invokestatic com.sun.jndi.dns.DnsContext.rrsToAttrs:(Lcom/sun/jndi/dns/ResourceRecords;[Lcom/sun/jndi/dns/CT;)Ljavax/naming/directory/Attributes;
         9: areturn
        end local 7 // com.sun.jndi.dns.ResourceRecords rrs
        end local 6 // com.sun.jndi.dns.CT ct
        end local 5 // com.sun.jndi.dns.CT[] cts
        end local 4 // com.sun.jndi.dns.DnsName fqdn
        10: .line 435
      StackMap locals:
      StackMap stack: javax.naming.NamingException
            astore 4 /* e */
        start local 4 // javax.naming.NamingException e
        11: .line 436
            aload 3 /* cont */
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setError:(Ljava/lang/Object;Ljavax/naming/Name;)V
        12: .line 437
            aload 3 /* cont */
            aload 4 /* e */
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
            athrow
        end local 4 // javax.naming.NamingException e
        end local 3 // com.sun.jndi.toolkit.ctx.Continuation cont
        end local 2 // java.lang.String[] attrIds
        end local 1 // javax.naming.Name name
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lcom/sun/jndi/dns/DnsContext;
            0   13     1     name  Ljavax/naming/Name;
            0   13     2  attrIds  [Ljava/lang/String;
            0   13     3     cont  Lcom/sun/jndi/toolkit/ctx/Continuation;
            2   10     4     fqdn  Lcom/sun/jndi/dns/DnsName;
            3   10     5      cts  [Lcom/sun/jndi/dns/CT;
            4   10     6       ct  Lcom/sun/jndi/dns/CT;
            8   10     7      rrs  Lcom/sun/jndi/dns/ResourceRecords;
           11   13     4        e  Ljavax/naming/NamingException;
      Exception table:
        from    to  target  type
           1     9      10  Class javax.naming.NamingException
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
         Name  Flags
      name     
      attrIds  
      cont     

  public void c_modifyAttributes(javax.naming.Name, int, javax.naming.directory.Attributes, com.sun.jndi.toolkit.ctx.Continuation);
    descriptor: (Ljavax/naming/Name;ILjavax/naming/directory/Attributes;Lcom/sun/jndi/toolkit/ctx/Continuation;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // com.sun.jndi.dns.DnsContext this
        start local 1 // javax.naming.Name name
        start local 2 // int mod_op
        start local 3 // javax.naming.directory.Attributes attrs
        start local 4 // com.sun.jndi.toolkit.ctx.Continuation cont
         0: .line 446
            aload 4 /* cont */
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setError:(Ljava/lang/Object;Ljavax/naming/Name;)V
         1: .line 447
            aload 4 /* cont */
         2: .line 448
            new javax.naming.OperationNotSupportedException
            dup
            invokespecial javax.naming.OperationNotSupportedException.<init>:()V
         3: .line 447
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
            athrow
        end local 4 // com.sun.jndi.toolkit.ctx.Continuation cont
        end local 3 // javax.naming.directory.Attributes attrs
        end local 2 // int mod_op
        end local 1 // javax.naming.Name name
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lcom/sun/jndi/dns/DnsContext;
            0    4     1    name  Ljavax/naming/Name;
            0    4     2  mod_op  I
            0    4     3   attrs  Ljavax/naming/directory/Attributes;
            0    4     4    cont  Lcom/sun/jndi/toolkit/ctx/Continuation;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
        Name  Flags
      name    
      mod_op  
      attrs   
      cont    

  public void c_modifyAttributes(javax.naming.Name, javax.naming.directory.ModificationItem[], com.sun.jndi.toolkit.ctx.Continuation);
    descriptor: (Ljavax/naming/Name;[Ljavax/naming/directory/ModificationItem;Lcom/sun/jndi/toolkit/ctx/Continuation;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.sun.jndi.dns.DnsContext this
        start local 1 // javax.naming.Name name
        start local 2 // javax.naming.directory.ModificationItem[] mods
        start local 3 // com.sun.jndi.toolkit.ctx.Continuation cont
         0: .line 455
            aload 3 /* cont */
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setError:(Ljava/lang/Object;Ljavax/naming/Name;)V
         1: .line 456
            aload 3 /* cont */
         2: .line 457
            new javax.naming.OperationNotSupportedException
            dup
            invokespecial javax.naming.OperationNotSupportedException.<init>:()V
         3: .line 456
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
            athrow
        end local 3 // com.sun.jndi.toolkit.ctx.Continuation cont
        end local 2 // javax.naming.directory.ModificationItem[] mods
        end local 1 // javax.naming.Name name
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/jndi/dns/DnsContext;
            0    4     1  name  Ljavax/naming/Name;
            0    4     2  mods  [Ljavax/naming/directory/ModificationItem;
            0    4     3  cont  Lcom/sun/jndi/toolkit/ctx/Continuation;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      name  
      mods  
      cont  

  public javax.naming.NamingEnumeration c_search(javax.naming.Name, javax.naming.directory.Attributes, java.lang.String[], com.sun.jndi.toolkit.ctx.Continuation);
    descriptor: (Ljavax/naming/Name;Ljavax/naming/directory/Attributes;[Ljava/lang/String;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/NamingEnumeration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // com.sun.jndi.dns.DnsContext this
        start local 1 // javax.naming.Name name
        start local 2 // javax.naming.directory.Attributes matchingAttributes
        start local 3 // java.lang.String[] attributesToReturn
        start local 4 // com.sun.jndi.toolkit.ctx.Continuation cont
         0: .line 465
            new javax.naming.OperationNotSupportedException
            dup
            invokespecial javax.naming.OperationNotSupportedException.<init>:()V
            athrow
        end local 4 // com.sun.jndi.toolkit.ctx.Continuation cont
        end local 3 // java.lang.String[] attributesToReturn
        end local 2 // javax.naming.directory.Attributes matchingAttributes
        end local 1 // javax.naming.Name name
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    1     0                this  Lcom/sun/jndi/dns/DnsContext;
            0    1     1                name  Ljavax/naming/Name;
            0    1     2  matchingAttributes  Ljavax/naming/directory/Attributes;
            0    1     3  attributesToReturn  [Ljava/lang/String;
            0    1     4                cont  Lcom/sun/jndi/toolkit/ctx/Continuation;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
                    Name  Flags
      name                
      matchingAttributes  
      attributesToReturn  
      cont                

  public javax.naming.NamingEnumeration c_search(javax.naming.Name, java.lang.String, javax.naming.directory.SearchControls, com.sun.jndi.toolkit.ctx.Continuation);
    descriptor: (Ljavax/naming/Name;Ljava/lang/String;Ljavax/naming/directory/SearchControls;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/NamingEnumeration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // com.sun.jndi.dns.DnsContext this
        start local 1 // javax.naming.Name name
        start local 2 // java.lang.String filter
        start local 3 // javax.naming.directory.SearchControls cons
        start local 4 // com.sun.jndi.toolkit.ctx.Continuation cont
         0: .line 473
            new javax.naming.OperationNotSupportedException
            dup
            invokespecial javax.naming.OperationNotSupportedException.<init>:()V
            athrow
        end local 4 // com.sun.jndi.toolkit.ctx.Continuation cont
        end local 3 // javax.naming.directory.SearchControls cons
        end local 2 // java.lang.String filter
        end local 1 // javax.naming.Name name
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/sun/jndi/dns/DnsContext;
            0    1     1    name  Ljavax/naming/Name;
            0    1     2  filter  Ljava/lang/String;
            0    1     3    cons  Ljavax/naming/directory/SearchControls;
            0    1     4    cont  Lcom/sun/jndi/toolkit/ctx/Continuation;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
        Name  Flags
      name    
      filter  
      cons    
      cont    

  public javax.naming.NamingEnumeration c_search(javax.naming.Name, java.lang.String, java.lang.Object[], javax.naming.directory.SearchControls, com.sun.jndi.toolkit.ctx.Continuation);
    descriptor: (Ljavax/naming/Name;Ljava/lang/String;[Ljava/lang/Object;Ljavax/naming/directory/SearchControls;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/NamingEnumeration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=6
        start local 0 // com.sun.jndi.dns.DnsContext this
        start local 1 // javax.naming.Name name
        start local 2 // java.lang.String filterExpr
        start local 3 // java.lang.Object[] filterArgs
        start local 4 // javax.naming.directory.SearchControls cons
        start local 5 // com.sun.jndi.toolkit.ctx.Continuation cont
         0: .line 482
            new javax.naming.OperationNotSupportedException
            dup
            invokespecial javax.naming.OperationNotSupportedException.<init>:()V
            athrow
        end local 5 // com.sun.jndi.toolkit.ctx.Continuation cont
        end local 4 // javax.naming.directory.SearchControls cons
        end local 3 // java.lang.Object[] filterArgs
        end local 2 // java.lang.String filterExpr
        end local 1 // javax.naming.Name name
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/sun/jndi/dns/DnsContext;
            0    1     1        name  Ljavax/naming/Name;
            0    1     2  filterExpr  Ljava/lang/String;
            0    1     3  filterArgs  [Ljava/lang/Object;
            0    1     4        cons  Ljavax/naming/directory/SearchControls;
            0    1     5        cont  Lcom/sun/jndi/toolkit/ctx/Continuation;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
            Name  Flags
      name        
      filterExpr  
      filterArgs  
      cons        
      cont        

  public javax.naming.directory.DirContext c_getSchema(javax.naming.Name, com.sun.jndi.toolkit.ctx.Continuation);
    descriptor: (Ljavax/naming/Name;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/directory/DirContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.jndi.dns.DnsContext this
        start local 1 // javax.naming.Name name
        start local 2 // com.sun.jndi.toolkit.ctx.Continuation cont
         0: .line 487
            aload 2 /* cont */
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setError:(Ljava/lang/Object;Ljavax/naming/Name;)V
         1: .line 488
            aload 2 /* cont */
         2: .line 489
            new javax.naming.OperationNotSupportedException
            dup
            invokespecial javax.naming.OperationNotSupportedException.<init>:()V
         3: .line 488
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
            athrow
        end local 2 // com.sun.jndi.toolkit.ctx.Continuation cont
        end local 1 // javax.naming.Name name
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/jndi/dns/DnsContext;
            0    4     1  name  Ljavax/naming/Name;
            0    4     2  cont  Lcom/sun/jndi/toolkit/ctx/Continuation;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      name  
      cont  

  public javax.naming.directory.DirContext c_getSchemaClassDefinition(javax.naming.Name, com.sun.jndi.toolkit.ctx.Continuation);
    descriptor: (Ljavax/naming/Name;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/directory/DirContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.jndi.dns.DnsContext this
        start local 1 // javax.naming.Name name
        start local 2 // com.sun.jndi.toolkit.ctx.Continuation cont
         0: .line 494
            aload 2 /* cont */
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setError:(Ljava/lang/Object;Ljavax/naming/Name;)V
         1: .line 495
            aload 2 /* cont */
         2: .line 496
            new javax.naming.OperationNotSupportedException
            dup
            invokespecial javax.naming.OperationNotSupportedException.<init>:()V
         3: .line 495
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
            athrow
        end local 2 // com.sun.jndi.toolkit.ctx.Continuation cont
        end local 1 // javax.naming.Name name
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/jndi/dns/DnsContext;
            0    4     1  name  Ljavax/naming/Name;
            0    4     2  cont  Lcom/sun/jndi/toolkit/ctx/Continuation;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      name  
      cont  

  public java.lang.String getNameInNamespace();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.jndi.dns.DnsContext this
         0: .line 503
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.domain:Lcom/sun/jndi/dns/DnsName;
            invokevirtual com.sun.jndi.dns.DnsName.toString:()Ljava/lang/String;
            areturn
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jndi/dns/DnsContext;

  public javax.naming.Name composeName(javax.naming.Name, javax.naming.Name);
    descriptor: (Ljavax/naming/Name;Ljavax/naming/Name;)Ljavax/naming/Name;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // com.sun.jndi.dns.DnsContext this
        start local 1 // javax.naming.Name name
        start local 2 // javax.naming.Name prefix
         0: .line 511
            aload 2 /* prefix */
            instanceof com.sun.jndi.dns.DnsName
            ifne 2
            aload 2 /* prefix */
            instanceof javax.naming.CompositeName
            ifne 2
         1: .line 512
            new com.sun.jndi.dns.DnsName
            dup
            invokespecial com.sun.jndi.dns.DnsName.<init>:()V
            aload 2 /* prefix */
            invokevirtual com.sun.jndi.dns.DnsName.addAll:(Ljavax/naming/Name;)Ljavax/naming/Name;
            astore 2 /* prefix */
         2: .line 514
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            instanceof com.sun.jndi.dns.DnsName
            ifne 4
            aload 1 /* name */
            instanceof javax.naming.CompositeName
            ifne 4
         3: .line 515
            new com.sun.jndi.dns.DnsName
            dup
            invokespecial com.sun.jndi.dns.DnsName.<init>:()V
            aload 1 /* name */
            invokevirtual com.sun.jndi.dns.DnsName.addAll:(Ljavax/naming/Name;)Ljavax/naming/Name;
            astore 1 /* name */
         4: .line 521
      StackMap locals:
      StackMap stack:
            aload 2 /* prefix */
            instanceof com.sun.jndi.dns.DnsName
            ifeq 8
            aload 1 /* name */
            instanceof com.sun.jndi.dns.DnsName
            ifeq 8
         5: .line 522
            aload 2 /* prefix */
            invokeinterface javax.naming.Name.clone:()Ljava/lang/Object;
            checkcast com.sun.jndi.dns.DnsName
            astore 3 /* result */
        start local 3 // javax.naming.Name result
         6: .line 523
            aload 3 /* result */
            aload 1 /* name */
            invokeinterface javax.naming.Name.addAll:(Ljavax/naming/Name;)Ljavax/naming/Name;
            pop
         7: .line 524
            new javax.naming.CompositeName
            dup
            invokespecial javax.naming.CompositeName.<init>:()V
            aload 3 /* result */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual javax.naming.CompositeName.add:(Ljava/lang/String;)Ljavax/naming/Name;
            areturn
        end local 3 // javax.naming.Name result
         8: .line 528
      StackMap locals:
      StackMap stack:
            aload 2 /* prefix */
            instanceof javax.naming.CompositeName
            ifeq 10
         9: .line 529
            aload 2 /* prefix */
            goto 11
        10: .line 530
      StackMap locals:
      StackMap stack:
            new javax.naming.CompositeName
            dup
            invokespecial javax.naming.CompositeName.<init>:()V
            aload 2 /* prefix */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual javax.naming.CompositeName.add:(Ljava/lang/String;)Ljavax/naming/Name;
        11: .line 528
      StackMap locals:
      StackMap stack: javax.naming.Name
            astore 4 /* prefixC */
        start local 4 // javax.naming.Name prefixC
        12: .line 531
            aload 1 /* name */
            instanceof javax.naming.CompositeName
            ifeq 14
        13: .line 532
            aload 1 /* name */
            goto 15
        14: .line 533
      StackMap locals: com.sun.jndi.dns.DnsContext javax.naming.Name javax.naming.Name top javax.naming.Name
      StackMap stack:
            new javax.naming.CompositeName
            dup
            invokespecial javax.naming.CompositeName.<init>:()V
            aload 1 /* name */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual javax.naming.CompositeName.add:(Ljava/lang/String;)Ljavax/naming/Name;
        15: .line 531
      StackMap locals:
      StackMap stack: javax.naming.Name
            astore 5 /* nameC */
        start local 5 // javax.naming.Name nameC
        16: .line 534
            aload 4 /* prefixC */
            invokeinterface javax.naming.Name.size:()I
            iconst_1
            isub
            istore 6 /* prefixLast */
        start local 6 // int prefixLast
        17: .line 537
            aload 5 /* nameC */
            invokeinterface javax.naming.Name.isEmpty:()Z
            ifne 19
            aload 5 /* nameC */
            iconst_0
            invokeinterface javax.naming.Name.get:(I)Ljava/lang/String;
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 19
        18: .line 538
            aload 4 /* prefixC */
            invokeinterface javax.naming.Name.isEmpty:()Z
            ifne 19
            aload 4 /* prefixC */
            iload 6 /* prefixLast */
            invokeinterface javax.naming.Name.get:(I)Ljava/lang/String;
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 20
        19: .line 539
      StackMap locals: javax.naming.Name int
      StackMap stack:
            aload 0 /* this */
            aload 5 /* nameC */
            aload 4 /* prefixC */
            invokespecial com.sun.jndi.toolkit.ctx.ComponentDirContext.composeName:(Ljavax/naming/Name;Ljavax/naming/Name;)Ljavax/naming/Name;
            areturn
        20: .line 542
      StackMap locals:
      StackMap stack:
            aload 2 /* prefix */
            aload 4 /* prefixC */
            if_acmpne 22
        21: .line 543
            aload 4 /* prefixC */
            invokeinterface javax.naming.Name.clone:()Ljava/lang/Object;
            checkcast javax.naming.CompositeName
            goto 23
        22: .line 544
      StackMap locals:
      StackMap stack:
            aload 4 /* prefixC */
        23: .line 542
      StackMap locals:
      StackMap stack: javax.naming.Name
            astore 3 /* result */
        start local 3 // javax.naming.Name result
        24: .line 545
            aload 3 /* result */
            aload 5 /* nameC */
            invokeinterface javax.naming.Name.addAll:(Ljavax/naming/Name;)Ljavax/naming/Name;
            pop
        25: .line 547
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.parentIsDns:Z
            ifeq 37
        26: .line 548
            aload 2 /* prefix */
            instanceof com.sun.jndi.dns.DnsName
            ifeq 28
        27: .line 549
            aload 2 /* prefix */
            invokeinterface javax.naming.Name.clone:()Ljava/lang/Object;
            checkcast com.sun.jndi.dns.DnsName
            goto 29
        28: .line 550
      StackMap locals: com.sun.jndi.dns.DnsContext javax.naming.Name javax.naming.Name javax.naming.Name javax.naming.Name javax.naming.Name int
      StackMap stack:
            new com.sun.jndi.dns.DnsName
            dup
            aload 4 /* prefixC */
            iload 6 /* prefixLast */
            invokeinterface javax.naming.Name.get:(I)Ljava/lang/String;
            invokespecial com.sun.jndi.dns.DnsName.<init>:(Ljava/lang/String;)V
        29: .line 548
      StackMap locals:
      StackMap stack: com.sun.jndi.dns.DnsName
            astore 7 /* dnsComp */
        start local 7 // com.sun.jndi.dns.DnsName dnsComp
        30: .line 551
            aload 7 /* dnsComp */
            aload 1 /* name */
            instanceof com.sun.jndi.dns.DnsName
            ifeq 32
        31: .line 552
            aload 1 /* name */
            goto 33
        32: .line 553
      StackMap locals: com.sun.jndi.dns.DnsContext javax.naming.Name javax.naming.Name javax.naming.Name javax.naming.Name javax.naming.Name int com.sun.jndi.dns.DnsName
      StackMap stack: com.sun.jndi.dns.DnsName
            new com.sun.jndi.dns.DnsName
            dup
            aload 5 /* nameC */
            iconst_0
            invokeinterface javax.naming.Name.get:(I)Ljava/lang/String;
            invokespecial com.sun.jndi.dns.DnsName.<init>:(Ljava/lang/String;)V
        33: .line 551
      StackMap locals: com.sun.jndi.dns.DnsContext javax.naming.Name javax.naming.Name javax.naming.Name javax.naming.Name javax.naming.Name int com.sun.jndi.dns.DnsName
      StackMap stack: com.sun.jndi.dns.DnsName javax.naming.Name
            invokevirtual com.sun.jndi.dns.DnsName.addAll:(Ljavax/naming/Name;)Ljavax/naming/Name;
            pop
        34: .line 554
            aload 3 /* result */
            iload 6 /* prefixLast */
            iconst_1
            iadd
            invokeinterface javax.naming.Name.remove:(I)Ljava/lang/Object;
            pop
        35: .line 555
            aload 3 /* result */
            iload 6 /* prefixLast */
            invokeinterface javax.naming.Name.remove:(I)Ljava/lang/Object;
            pop
        36: .line 556
            aload 3 /* result */
            iload 6 /* prefixLast */
            aload 7 /* dnsComp */
            invokevirtual com.sun.jndi.dns.DnsName.toString:()Ljava/lang/String;
            invokeinterface javax.naming.Name.add:(ILjava/lang/String;)Ljavax/naming/Name;
            pop
        end local 7 // com.sun.jndi.dns.DnsName dnsComp
        37: .line 558
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 6 // int prefixLast
        end local 5 // javax.naming.Name nameC
        end local 4 // javax.naming.Name prefixC
        end local 3 // javax.naming.Name result
        end local 2 // javax.naming.Name prefix
        end local 1 // javax.naming.Name name
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   38     0        this  Lcom/sun/jndi/dns/DnsContext;
            0   38     1        name  Ljavax/naming/Name;
            0   38     2      prefix  Ljavax/naming/Name;
            6    8     3      result  Ljavax/naming/Name;
           24   38     3      result  Ljavax/naming/Name;
           12   38     4     prefixC  Ljavax/naming/Name;
           16   38     5       nameC  Ljavax/naming/Name;
           17   38     6  prefixLast  I
           30   37     7     dnsComp  Lcom/sun/jndi/dns/DnsName;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
        Name  Flags
      name    
      prefix  

  private synchronized com.sun.jndi.dns.Resolver getResolver();
    descriptor: ()Lcom/sun/jndi/dns/Resolver;
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // com.sun.jndi.dns.DnsContext this
         0: .line 569
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.resolver:Lcom/sun/jndi/dns/Resolver;
            ifnonnull 2
         1: .line 570
            aload 0 /* this */
            new com.sun.jndi.dns.Resolver
            dup
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.servers:[Ljava/lang/String;
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.timeout:I
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.retries:I
            invokespecial com.sun.jndi.dns.Resolver.<init>:([Ljava/lang/String;II)V
            putfield com.sun.jndi.dns.DnsContext.resolver:Lcom/sun/jndi/dns/Resolver;
         2: .line 572
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.resolver:Lcom/sun/jndi/dns/Resolver;
            areturn
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/jndi/dns/DnsContext;
    Exceptions:
      throws javax.naming.NamingException

  com.sun.jndi.dns.DnsName fullyQualify(javax.naming.Name);
    descriptor: (Ljavax/naming/Name;)Lcom/sun/jndi/dns/DnsName;
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.sun.jndi.dns.DnsContext this
        start local 1 // javax.naming.Name name
         0: .line 581
            aload 1 /* name */
            invokeinterface javax.naming.Name.isEmpty:()Z
            ifeq 2
         1: .line 582
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.domain:Lcom/sun/jndi/dns/DnsName;
            areturn
         2: .line 584
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            instanceof javax.naming.CompositeName
            ifeq 4
         3: .line 585
            new com.sun.jndi.dns.DnsName
            dup
            aload 1 /* name */
            iconst_0
            invokeinterface javax.naming.Name.get:(I)Ljava/lang/String;
            invokespecial com.sun.jndi.dns.DnsName.<init>:(Ljava/lang/String;)V
            goto 5
         4: .line 586
      StackMap locals:
      StackMap stack:
            new com.sun.jndi.dns.DnsName
            dup
            invokespecial com.sun.jndi.dns.DnsName.<init>:()V
            aload 1 /* name */
            invokevirtual com.sun.jndi.dns.DnsName.addAll:(Ljavax/naming/Name;)Ljavax/naming/Name;
            checkcast com.sun.jndi.dns.DnsName
         5: .line 584
      StackMap locals:
      StackMap stack: com.sun.jndi.dns.DnsName
            astore 2 /* dnsName */
        start local 2 // com.sun.jndi.dns.DnsName dnsName
         6: .line 588
            aload 2 /* dnsName */
            invokevirtual com.sun.jndi.dns.DnsName.hasRootLabel:()Z
            ifeq 12
         7: .line 590
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.domain:Lcom/sun/jndi/dns/DnsName;
            invokevirtual com.sun.jndi.dns.DnsName.size:()I
            iconst_1
            if_icmpne 9
         8: .line 591
            aload 2 /* dnsName */
            areturn
         9: .line 593
      StackMap locals: com.sun.jndi.dns.DnsName
      StackMap stack:
            new javax.naming.InvalidNameException
            dup
        10: .line 594
            new java.lang.StringBuilder
            dup
            ldc "DNS name "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* dnsName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " not relative to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.domain:Lcom/sun/jndi/dns/DnsName;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 593
            invokespecial javax.naming.InvalidNameException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 597
      StackMap locals:
      StackMap stack:
            aload 2 /* dnsName */
            iconst_0
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.domain:Lcom/sun/jndi/dns/DnsName;
            invokevirtual com.sun.jndi.dns.DnsName.addAll:(ILjavax/naming/Name;)Ljavax/naming/Name;
            checkcast com.sun.jndi.dns.DnsName
            areturn
        end local 2 // com.sun.jndi.dns.DnsName dnsName
        end local 1 // javax.naming.Name name
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lcom/sun/jndi/dns/DnsContext;
            0   13     1     name  Ljavax/naming/Name;
            6   13     2  dnsName  Lcom/sun/jndi/dns/DnsName;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      name  

  private static javax.naming.directory.Attributes rrsToAttrs(com.sun.jndi.dns.ResourceRecords, com.sun.jndi.dns.CT[]);
    descriptor: (Lcom/sun/jndi/dns/ResourceRecords;[Lcom/sun/jndi/dns/CT;)Ljavax/naming/directory/Attributes;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=9, args_size=2
        start local 0 // com.sun.jndi.dns.ResourceRecords rrs
        start local 1 // com.sun.jndi.dns.CT[] cts
         0: .line 608
            new javax.naming.directory.BasicAttributes
            dup
            iconst_1
            invokespecial javax.naming.directory.BasicAttributes.<init>:(Z)V
            astore 2 /* attrs */
        start local 2 // javax.naming.directory.BasicAttributes attrs
         1: .line 610
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 15
         3: .line 611
      StackMap locals: javax.naming.directory.BasicAttributes int
      StackMap stack:
            aload 0 /* rrs */
            getfield com.sun.jndi.dns.ResourceRecords.answer:Ljava/util/Vector;
            iload 3 /* i */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast com.sun.jndi.dns.ResourceRecord
            astore 4 /* rr */
        start local 4 // com.sun.jndi.dns.ResourceRecord rr
         4: .line 612
            aload 4 /* rr */
            invokevirtual com.sun.jndi.dns.ResourceRecord.getType:()I
            istore 5 /* rrtype */
        start local 5 // int rrtype
         5: .line 613
            aload 4 /* rr */
            invokevirtual com.sun.jndi.dns.ResourceRecord.getRrclass:()I
            istore 6 /* rrclass */
        start local 6 // int rrclass
         6: .line 615
            iload 6 /* rrclass */
            iload 5 /* rrtype */
            aload 1 /* cts */
            invokestatic com.sun.jndi.dns.DnsContext.classAndTypeMatch:(II[Lcom/sun/jndi/dns/CT;)Z
            ifne 8
         7: .line 616
            goto 14
         8: .line 619
      StackMap locals: com.sun.jndi.dns.ResourceRecord int int
      StackMap stack:
            iload 6 /* rrclass */
            iload 5 /* rrtype */
            invokestatic com.sun.jndi.dns.DnsContext.toAttrId:(II)Ljava/lang/String;
            astore 7 /* attrId */
        start local 7 // java.lang.String attrId
         9: .line 620
            aload 2 /* attrs */
            aload 7 /* attrId */
            invokevirtual javax.naming.directory.BasicAttributes.get:(Ljava/lang/String;)Ljavax/naming/directory/Attribute;
            astore 8 /* attr */
        start local 8 // javax.naming.directory.Attribute attr
        10: .line 621
            aload 8 /* attr */
            ifnonnull 13
        11: .line 622
            new javax.naming.directory.BasicAttribute
            dup
            aload 7 /* attrId */
            invokespecial javax.naming.directory.BasicAttribute.<init>:(Ljava/lang/String;)V
            astore 8 /* attr */
        12: .line 623
            aload 2 /* attrs */
            aload 8 /* attr */
            invokevirtual javax.naming.directory.BasicAttributes.put:(Ljavax/naming/directory/Attribute;)Ljavax/naming/directory/Attribute;
            pop
        13: .line 625
      StackMap locals: java.lang.String javax.naming.directory.Attribute
      StackMap stack:
            aload 8 /* attr */
            aload 4 /* rr */
            invokevirtual com.sun.jndi.dns.ResourceRecord.getRdata:()Ljava/lang/Object;
            invokeinterface javax.naming.directory.Attribute.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // javax.naming.directory.Attribute attr
        end local 7 // java.lang.String attrId
        end local 6 // int rrclass
        end local 5 // int rrtype
        end local 4 // com.sun.jndi.dns.ResourceRecord rr
        14: .line 610
      StackMap locals: com.sun.jndi.dns.ResourceRecords com.sun.jndi.dns.CT[] javax.naming.directory.BasicAttributes int
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 3 /* i */
            aload 0 /* rrs */
            getfield com.sun.jndi.dns.ResourceRecords.answer:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            if_icmplt 3
        end local 3 // int i
        16: .line 627
            aload 2 /* attrs */
            areturn
        end local 2 // javax.naming.directory.BasicAttributes attrs
        end local 1 // com.sun.jndi.dns.CT[] cts
        end local 0 // com.sun.jndi.dns.ResourceRecords rrs
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0      rrs  Lcom/sun/jndi/dns/ResourceRecords;
            0   17     1      cts  [Lcom/sun/jndi/dns/CT;
            1   17     2    attrs  Ljavax/naming/directory/BasicAttributes;
            2   16     3        i  I
            4   14     4       rr  Lcom/sun/jndi/dns/ResourceRecord;
            5   14     5   rrtype  I
            6   14     6  rrclass  I
            9   14     7   attrId  Ljava/lang/String;
           10   14     8     attr  Ljavax/naming/directory/Attribute;
    MethodParameters:
      Name  Flags
      rrs   
      cts   

  private static boolean classAndTypeMatch(int, int, com.sun.jndi.dns.CT[]);
    descriptor: (II[Lcom/sun/jndi/dns/CT;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=7, args_size=3
        start local 0 // int rrclass
        start local 1 // int rrtype
        start local 2 // com.sun.jndi.dns.CT[] cts
         0: .line 638
            aload 2 /* cts */
            ifnonnull 2
         1: .line 639
            iconst_1
            ireturn
         2: .line 641
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 18
         4: .line 642
      StackMap locals: int
      StackMap stack:
            aload 2 /* cts */
            iload 3 /* i */
            aaload
            astore 4 /* ct */
        start local 4 // com.sun.jndi.dns.CT ct
         5: .line 643
            aload 4 /* ct */
            getfield com.sun.jndi.dns.CT.rrclass:I
            sipush 255
            if_icmpeq 8
         6: .line 644
            aload 4 /* ct */
            getfield com.sun.jndi.dns.CT.rrclass:I
            iload 0 /* rrclass */
            if_icmpeq 8
         7: .line 643
            iconst_0
            goto 9
      StackMap locals: com.sun.jndi.dns.CT
      StackMap stack:
         8: iconst_1
      StackMap locals:
      StackMap stack: int
         9: istore 5 /* classMatch */
        start local 5 // boolean classMatch
        10: .line 645
            aload 4 /* ct */
            getfield com.sun.jndi.dns.CT.rrtype:I
            sipush 255
            if_icmpeq 13
        11: .line 646
            aload 4 /* ct */
            getfield com.sun.jndi.dns.CT.rrtype:I
            iload 1 /* rrtype */
            if_icmpeq 13
        12: .line 645
            iconst_0
            goto 14
      StackMap locals: int
      StackMap stack:
        13: iconst_1
      StackMap locals:
      StackMap stack: int
        14: istore 6 /* typeMatch */
        start local 6 // boolean typeMatch
        15: .line 647
            iload 5 /* classMatch */
            ifeq 17
            iload 6 /* typeMatch */
            ifeq 17
        16: .line 648
            iconst_1
            ireturn
        end local 6 // boolean typeMatch
        end local 5 // boolean classMatch
        end local 4 // com.sun.jndi.dns.CT ct
        17: .line 641
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 3 /* i */
            aload 2 /* cts */
            arraylength
            if_icmplt 4
        end local 3 // int i
        19: .line 651
            iconst_0
            ireturn
        end local 2 // com.sun.jndi.dns.CT[] cts
        end local 1 // int rrtype
        end local 0 // int rrclass
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   20     0     rrclass  I
            0   20     1      rrtype  I
            0   20     2         cts  [Lcom/sun/jndi/dns/CT;
            3   19     3           i  I
            5   17     4          ct  Lcom/sun/jndi/dns/CT;
           10   17     5  classMatch  Z
           15   17     6   typeMatch  Z
    MethodParameters:
         Name  Flags
      rrclass  
      rrtype   
      cts      

  private static java.lang.String toAttrId(int, int);
    descriptor: (II)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // int rrclass
        start local 1 // int rrtype
         0: .line 669
            iload 1 /* rrtype */
            invokestatic com.sun.jndi.dns.ResourceRecord.getTypeName:(I)Ljava/lang/String;
            astore 2 /* attrId */
        start local 2 // java.lang.String attrId
         1: .line 670
            iload 0 /* rrclass */
            iconst_1
            if_icmpeq 3
         2: .line 671
            new java.lang.StringBuilder
            dup
            iload 0 /* rrclass */
            invokestatic com.sun.jndi.dns.ResourceRecord.getRrclassName:(I)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* attrId */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* attrId */
         3: .line 673
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* attrId */
            areturn
        end local 2 // java.lang.String attrId
        end local 1 // int rrtype
        end local 0 // int rrclass
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0  rrclass  I
            0    4     1   rrtype  I
            1    4     2   attrId  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      rrclass  
      rrtype   

  private static com.sun.jndi.dns.CT fromAttrId(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/sun/jndi/dns/CT;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // java.lang.String attrId
         0: .line 687
            aload 0 /* attrId */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         1: .line 688
            new javax.naming.directory.InvalidAttributeIdentifierException
            dup
         2: .line 689
            ldc "Attribute ID cannot be empty"
         3: .line 688
            invokespecial javax.naming.directory.InvalidAttributeIdentifierException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 693
      StackMap locals:
      StackMap stack:
            aload 0 /* attrId */
            bipush 32
            invokevirtual java.lang.String.indexOf:(I)I
            istore 3 /* space */
        start local 3 // int space
         5: .line 696
            iload 3 /* space */
            ifge 8
         6: .line 697
            iconst_1
            istore 1 /* rrclass */
        start local 1 // int rrclass
         7: .line 698
            goto 14
        end local 1 // int rrclass
         8: .line 699
      StackMap locals: java.lang.String top top int
      StackMap stack:
            aload 0 /* attrId */
            iconst_0
            iload 3 /* space */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* className */
        start local 4 // java.lang.String className
         9: .line 700
            aload 4 /* className */
            invokestatic com.sun.jndi.dns.ResourceRecord.getRrclass:(Ljava/lang/String;)I
            istore 1 /* rrclass */
        start local 1 // int rrclass
        10: .line 701
            iload 1 /* rrclass */
            ifge 14
        11: .line 702
            new javax.naming.directory.InvalidAttributeIdentifierException
            dup
        12: .line 703
            new java.lang.StringBuilder
            dup
            ldc "Unknown resource record class '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* className */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 39
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 702
            invokespecial javax.naming.directory.InvalidAttributeIdentifierException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.String className
        14: .line 708
      StackMap locals: java.lang.String int top int
      StackMap stack:
            aload 0 /* attrId */
            iload 3 /* space */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 4 /* typeName */
        start local 4 // java.lang.String typeName
        15: .line 709
            aload 4 /* typeName */
            invokestatic com.sun.jndi.dns.ResourceRecord.getType:(Ljava/lang/String;)I
            istore 2 /* rrtype */
        start local 2 // int rrtype
        16: .line 710
            iload 2 /* rrtype */
            ifge 20
        17: .line 711
            new javax.naming.directory.InvalidAttributeIdentifierException
            dup
        18: .line 712
            new java.lang.StringBuilder
            dup
            ldc "Unknown resource record type '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* typeName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 39
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        19: .line 711
            invokespecial javax.naming.directory.InvalidAttributeIdentifierException.<init>:(Ljava/lang/String;)V
            athrow
        20: .line 715
      StackMap locals: java.lang.String int int int java.lang.String
      StackMap stack:
            new com.sun.jndi.dns.CT
            dup
            iload 1 /* rrclass */
            iload 2 /* rrtype */
            invokespecial com.sun.jndi.dns.CT.<init>:(II)V
            areturn
        end local 4 // java.lang.String typeName
        end local 3 // int space
        end local 2 // int rrtype
        end local 1 // int rrclass
        end local 0 // java.lang.String attrId
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   21     0     attrId  Ljava/lang/String;
            7    8     1    rrclass  I
           10   21     1    rrclass  I
           16   21     2     rrtype  I
            5   21     3      space  I
            9   14     4  className  Ljava/lang/String;
           15   21     4   typeName  Ljava/lang/String;
    Exceptions:
      throws javax.naming.directory.InvalidAttributeIdentifierException
    MethodParameters:
        Name  Flags
      attrId  

  private static com.sun.jndi.dns.CT[] attrIdsToClassesAndTypes(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)[Lcom/sun/jndi/dns/CT;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.lang.String[] attrIds
         0: .line 726
            aload 0 /* attrIds */
            ifnonnull 2
         1: .line 727
            aconst_null
            areturn
         2: .line 729
      StackMap locals:
      StackMap stack:
            aload 0 /* attrIds */
            arraylength
            anewarray com.sun.jndi.dns.CT
            astore 1 /* cts */
        start local 1 // com.sun.jndi.dns.CT[] cts
         3: .line 731
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 7
         5: .line 732
      StackMap locals: com.sun.jndi.dns.CT[] int
      StackMap stack:
            aload 1 /* cts */
            iload 2 /* i */
            aload 0 /* attrIds */
            iload 2 /* i */
            aaload
            invokestatic com.sun.jndi.dns.DnsContext.fromAttrId:(Ljava/lang/String;)Lcom/sun/jndi/dns/CT;
            aastore
         6: .line 731
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            aload 0 /* attrIds */
            arraylength
            if_icmplt 5
        end local 2 // int i
         8: .line 734
            aload 1 /* cts */
            areturn
        end local 1 // com.sun.jndi.dns.CT[] cts
        end local 0 // java.lang.String[] attrIds
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0  attrIds  [Ljava/lang/String;
            3    9     1      cts  [Lcom/sun/jndi/dns/CT;
            4    8     2        i  I
    Exceptions:
      throws javax.naming.directory.InvalidAttributeIdentifierException
    MethodParameters:
         Name  Flags
      attrIds  

  private static com.sun.jndi.dns.CT getClassAndTypeToQuery(com.sun.jndi.dns.CT[]);
    descriptor: ([Lcom/sun/jndi/dns/CT;)Lcom/sun/jndi/dns/CT;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // com.sun.jndi.dns.CT[] cts
         0: .line 746
            aload 0 /* cts */
            ifnonnull 4
         1: .line 748
            sipush 255
            istore 1 /* rrclass */
        start local 1 // int rrclass
         2: .line 749
            sipush 255
            istore 2 /* rrtype */
        start local 2 // int rrtype
         3: .line 750
            goto 18
        end local 2 // int rrtype
        end local 1 // int rrclass
      StackMap locals:
      StackMap stack:
         4: aload 0 /* cts */
            arraylength
            ifne 8
         5: .line 752
            iconst_1
            istore 1 /* rrclass */
        start local 1 // int rrclass
         6: .line 753
            sipush 255
            istore 2 /* rrtype */
        start local 2 // int rrtype
         7: .line 754
            goto 18
        end local 2 // int rrtype
        end local 1 // int rrclass
         8: .line 755
      StackMap locals:
      StackMap stack:
            aload 0 /* cts */
            iconst_0
            aaload
            getfield com.sun.jndi.dns.CT.rrclass:I
            istore 1 /* rrclass */
        start local 1 // int rrclass
         9: .line 756
            aload 0 /* cts */
            iconst_0
            aaload
            getfield com.sun.jndi.dns.CT.rrtype:I
            istore 2 /* rrtype */
        start local 2 // int rrtype
        10: .line 757
            iconst_1
            istore 3 /* i */
        start local 3 // int i
        11: goto 17
        12: .line 758
      StackMap locals: int int int
      StackMap stack:
            iload 1 /* rrclass */
            aload 0 /* cts */
            iload 3 /* i */
            aaload
            getfield com.sun.jndi.dns.CT.rrclass:I
            if_icmpeq 14
        13: .line 759
            sipush 255
            istore 1 /* rrclass */
        14: .line 761
      StackMap locals:
      StackMap stack:
            iload 2 /* rrtype */
            aload 0 /* cts */
            iload 3 /* i */
            aaload
            getfield com.sun.jndi.dns.CT.rrtype:I
            if_icmpeq 16
        15: .line 762
            sipush 255
            istore 2 /* rrtype */
        16: .line 757
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 3 /* i */
            aload 0 /* cts */
            arraylength
            if_icmplt 12
        end local 3 // int i
        18: .line 766
      StackMap locals:
      StackMap stack:
            new com.sun.jndi.dns.CT
            dup
            iload 1 /* rrclass */
            iload 2 /* rrtype */
            invokespecial com.sun.jndi.dns.CT.<init>:(II)V
            areturn
        end local 2 // int rrtype
        end local 1 // int rrclass
        end local 0 // com.sun.jndi.dns.CT[] cts
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   19     0      cts  [Lcom/sun/jndi/dns/CT;
            2    4     1  rrclass  I
            6    8     1  rrclass  I
            9   19     1  rrclass  I
            3    4     2   rrtype  I
            7    8     2   rrtype  I
           10   19     2   rrtype  I
           11   18     3        i  I
    MethodParameters:
      Name  Flags
      cts   

  private com.sun.jndi.dns.NameNode getNameNode(com.sun.jndi.dns.DnsName);
    descriptor: (Lcom/sun/jndi/dns/DnsName;)Lcom/sun/jndi/dns/NameNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // com.sun.jndi.dns.DnsContext this
        start local 1 // com.sun.jndi.dns.DnsName fqdn
         0: .line 797
            new java.lang.StringBuilder
            dup
            ldc "getNameNode("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* fqdn */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.sun.jndi.dns.DnsContext.dprint:(Ljava/lang/String;)V
         1: .line 802
            getstatic com.sun.jndi.dns.DnsContext.zoneTree:Lcom/sun/jndi/dns/ZoneNode;
            dup
            astore 4
            monitorenter
         2: .line 803
            getstatic com.sun.jndi.dns.DnsContext.zoneTree:Lcom/sun/jndi/dns/ZoneNode;
            aload 1 /* fqdn */
            invokevirtual com.sun.jndi.dns.ZoneNode.getDeepestPopulated:(Lcom/sun/jndi/dns/DnsName;)Lcom/sun/jndi/dns/ZoneNode;
            astore 2 /* znode */
        start local 2 // com.sun.jndi.dns.ZoneNode znode
         3: .line 802
            aload 4
            monitorexit
         4: goto 7
        end local 2 // com.sun.jndi.dns.ZoneNode znode
      StackMap locals: com.sun.jndi.dns.DnsContext com.sun.jndi.dns.DnsName top top com.sun.jndi.dns.ZoneNode
      StackMap stack: java.lang.Throwable
         5: aload 4
            monitorexit
         6: athrow
        start local 2 // com.sun.jndi.dns.ZoneNode znode
         7: .line 805
      StackMap locals: com.sun.jndi.dns.DnsContext com.sun.jndi.dns.DnsName com.sun.jndi.dns.ZoneNode
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Deepest related zone in zone tree: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         8: .line 806
            aload 2 /* znode */
            ifnull 9
            aload 2 /* znode */
            invokevirtual com.sun.jndi.dns.ZoneNode.getLabel:()Ljava/lang/String;
            goto 10
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
         9: ldc "[none]"
      StackMap locals: com.sun.jndi.dns.DnsContext com.sun.jndi.dns.DnsName com.sun.jndi.dns.ZoneNode
      StackMap stack: java.lang.StringBuilder java.lang.String
        10: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 805
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.sun.jndi.dns.DnsContext.dprint:(Ljava/lang/String;)V
        12: .line 811
            aload 2 /* znode */
            ifnull 43
        13: .line 812
            aload 2 /* znode */
            dup
            astore 6
            monitorenter
        14: .line 813
            aload 2 /* znode */
            invokevirtual com.sun.jndi.dns.ZoneNode.getContents:()Lcom/sun/jndi/dns/NameNode;
            astore 4 /* topOfZone */
        start local 4 // com.sun.jndi.dns.NameNode topOfZone
        15: .line 812
            aload 6
            monitorexit
        16: goto 19
        end local 4 // com.sun.jndi.dns.NameNode topOfZone
      StackMap locals: com.sun.jndi.dns.DnsContext com.sun.jndi.dns.DnsName com.sun.jndi.dns.ZoneNode top top top com.sun.jndi.dns.ZoneNode
      StackMap stack: java.lang.Throwable
        17: aload 6
            monitorexit
        18: athrow
        start local 4 // com.sun.jndi.dns.NameNode topOfZone
        19: .line 817
      StackMap locals: com.sun.jndi.dns.DnsContext com.sun.jndi.dns.DnsName com.sun.jndi.dns.ZoneNode top com.sun.jndi.dns.NameNode
      StackMap stack:
            aload 4 /* topOfZone */
            ifnull 43
        20: .line 818
            aload 4 /* topOfZone */
            aload 1 /* fqdn */
            aload 2 /* znode */
            invokevirtual com.sun.jndi.dns.ZoneNode.depth:()I
            iconst_1
            iadd
            invokevirtual com.sun.jndi.dns.NameNode.get:(Lcom/sun/jndi/dns/DnsName;I)Lcom/sun/jndi/dns/NameNode;
            astore 5 /* nnode */
        start local 5 // com.sun.jndi.dns.NameNode nnode
        21: .line 820
            aload 5 /* nnode */
            ifnull 43
            aload 5 /* nnode */
            invokevirtual com.sun.jndi.dns.NameNode.isZoneCut:()Z
            ifne 43
        22: .line 821
            new java.lang.StringBuilder
            dup
            ldc "Found node "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* fqdn */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " in zone tree"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.sun.jndi.dns.DnsContext.dprint:(Ljava/lang/String;)V
        23: .line 823
            aload 1 /* fqdn */
            aload 2 /* znode */
            invokevirtual com.sun.jndi.dns.ZoneNode.depth:()I
            iconst_1
            iadd
            invokevirtual com.sun.jndi.dns.DnsName.getPrefix:(I)Ljavax/naming/Name;
        24: .line 822
            checkcast com.sun.jndi.dns.DnsName
            astore 3 /* zone */
        start local 3 // com.sun.jndi.dns.DnsName zone
        25: .line 824
            aload 0 /* this */
            aload 2 /* znode */
            aload 3 /* zone */
            invokevirtual com.sun.jndi.dns.DnsContext.isZoneCurrent:(Lcom/sun/jndi/dns/ZoneNode;Lcom/sun/jndi/dns/DnsName;)Z
            istore 6 /* current */
        start local 6 // boolean current
        26: .line 825
            iconst_0
            istore 7 /* restart */
        start local 7 // boolean restart
        27: .line 827
            aload 2 /* znode */
            dup
            astore 8
            monitorenter
        28: .line 828
            aload 4 /* topOfZone */
            aload 2 /* znode */
            invokevirtual com.sun.jndi.dns.ZoneNode.getContents:()Lcom/sun/jndi/dns/NameNode;
            if_acmpeq 31
        29: .line 831
            iconst_1
            istore 7 /* restart */
        30: .line 832
            goto 36
      StackMap locals: com.sun.jndi.dns.DnsContext com.sun.jndi.dns.DnsName com.sun.jndi.dns.ZoneNode com.sun.jndi.dns.DnsName com.sun.jndi.dns.NameNode com.sun.jndi.dns.NameNode int int com.sun.jndi.dns.ZoneNode
      StackMap stack:
        31: iload 6 /* current */
            ifne 34
        32: .line 833
            aload 2 /* znode */
            invokevirtual com.sun.jndi.dns.ZoneNode.depopulate:()V
        33: .line 834
            goto 36
        34: .line 835
      StackMap locals:
      StackMap stack:
            aload 5 /* nnode */
            aload 8
            monitorexit
        35: areturn
        36: .line 827
      StackMap locals:
      StackMap stack:
            aload 8
            monitorexit
        37: goto 40
      StackMap locals:
      StackMap stack: java.lang.Throwable
        38: aload 8
            monitorexit
        39: athrow
        40: .line 838
      StackMap locals:
      StackMap stack:
            ldc "Zone not current; discarding node"
            invokestatic com.sun.jndi.dns.DnsContext.dprint:(Ljava/lang/String;)V
        41: .line 839
            iload 7 /* restart */
            ifeq 43
        42: .line 840
            aload 0 /* this */
            aload 1 /* fqdn */
            invokevirtual com.sun.jndi.dns.DnsContext.getNameNode:(Lcom/sun/jndi/dns/DnsName;)Lcom/sun/jndi/dns/NameNode;
            areturn
        end local 7 // boolean restart
        end local 6 // boolean current
        end local 5 // com.sun.jndi.dns.NameNode nnode
        end local 4 // com.sun.jndi.dns.NameNode topOfZone
        end local 3 // com.sun.jndi.dns.DnsName zone
        43: .line 847
      StackMap locals: com.sun.jndi.dns.DnsContext com.sun.jndi.dns.DnsName com.sun.jndi.dns.ZoneNode
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Adding node "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* fqdn */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " to zone tree"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.sun.jndi.dns.DnsContext.dprint:(Ljava/lang/String;)V
        44: .line 850
            aload 0 /* this */
            invokevirtual com.sun.jndi.dns.DnsContext.getResolver:()Lcom/sun/jndi/dns/Resolver;
            aload 1 /* fqdn */
            iconst_1
        45: .line 851
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.recursion:Z
        46: .line 850
            invokevirtual com.sun.jndi.dns.Resolver.findZoneName:(Lcom/sun/jndi/dns/DnsName;IZ)Lcom/sun/jndi/dns/DnsName;
            astore 3 /* zone */
        start local 3 // com.sun.jndi.dns.DnsName zone
        47: .line 852
            new java.lang.StringBuilder
            dup
            ldc "Node's zone is "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* zone */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.sun.jndi.dns.DnsContext.dprint:(Ljava/lang/String;)V
        48: .line 853
            getstatic com.sun.jndi.dns.DnsContext.zoneTree:Lcom/sun/jndi/dns/ZoneNode;
            dup
            astore 6
            monitorenter
        49: .line 854
            getstatic com.sun.jndi.dns.DnsContext.zoneTree:Lcom/sun/jndi/dns/ZoneNode;
            aload 3 /* zone */
            iconst_1
            invokevirtual com.sun.jndi.dns.ZoneNode.add:(Lcom/sun/jndi/dns/DnsName;I)Lcom/sun/jndi/dns/NameNode;
            checkcast com.sun.jndi.dns.ZoneNode
            astore 2 /* znode */
        50: .line 853
            aload 6
            monitorexit
        51: goto 54
      StackMap locals: com.sun.jndi.dns.DnsContext com.sun.jndi.dns.DnsName com.sun.jndi.dns.ZoneNode com.sun.jndi.dns.DnsName top top com.sun.jndi.dns.ZoneNode
      StackMap stack: java.lang.Throwable
        52: aload 6
            monitorexit
        53: athrow
        54: .line 861
      StackMap locals: com.sun.jndi.dns.DnsContext com.sun.jndi.dns.DnsName com.sun.jndi.dns.ZoneNode com.sun.jndi.dns.DnsName
      StackMap stack:
            aload 2 /* znode */
            dup
            astore 6
            monitorenter
        55: .line 862
            aload 2 /* znode */
            invokevirtual com.sun.jndi.dns.ZoneNode.isPopulated:()Z
            ifeq 57
        56: .line 863
            aload 2 /* znode */
            invokevirtual com.sun.jndi.dns.ZoneNode.getContents:()Lcom/sun/jndi/dns/NameNode;
            goto 58
        57: .line 864
      StackMap locals: com.sun.jndi.dns.DnsContext com.sun.jndi.dns.DnsName com.sun.jndi.dns.ZoneNode com.sun.jndi.dns.DnsName top top com.sun.jndi.dns.ZoneNode
      StackMap stack:
            aload 0 /* this */
            aload 2 /* znode */
            aload 3 /* zone */
            invokevirtual com.sun.jndi.dns.DnsContext.populateZone:(Lcom/sun/jndi/dns/ZoneNode;Lcom/sun/jndi/dns/DnsName;)Lcom/sun/jndi/dns/NameNode;
        58: .line 862
      StackMap locals:
      StackMap stack: com.sun.jndi.dns.NameNode
            astore 4 /* topOfZone */
        start local 4 // com.sun.jndi.dns.NameNode topOfZone
        59: .line 861
            aload 6
            monitorexit
        60: goto 63
        end local 4 // com.sun.jndi.dns.NameNode topOfZone
      StackMap locals:
      StackMap stack: java.lang.Throwable
        61: aload 6
            monitorexit
        62: athrow
        start local 4 // com.sun.jndi.dns.NameNode topOfZone
        63: .line 867
      StackMap locals: com.sun.jndi.dns.DnsContext com.sun.jndi.dns.DnsName com.sun.jndi.dns.ZoneNode com.sun.jndi.dns.DnsName com.sun.jndi.dns.NameNode
      StackMap stack:
            aload 4 /* topOfZone */
            aload 1 /* fqdn */
            aload 3 /* zone */
            invokevirtual com.sun.jndi.dns.DnsName.size:()I
            invokevirtual com.sun.jndi.dns.NameNode.get:(Lcom/sun/jndi/dns/DnsName;I)Lcom/sun/jndi/dns/NameNode;
            astore 5 /* nnode */
        start local 5 // com.sun.jndi.dns.NameNode nnode
        64: .line 868
            aload 5 /* nnode */
            ifnonnull 68
        65: .line 869
            new javax.naming.ConfigurationException
            dup
        66: .line 870
            ldc "DNS error: node not found in its own zone"
        67: .line 869
            invokespecial javax.naming.ConfigurationException.<init>:(Ljava/lang/String;)V
            athrow
        68: .line 872
      StackMap locals: com.sun.jndi.dns.NameNode
      StackMap stack:
            ldc "Found node in newly-populated zone"
            invokestatic com.sun.jndi.dns.DnsContext.dprint:(Ljava/lang/String;)V
        69: .line 873
            aload 5 /* nnode */
            areturn
        end local 5 // com.sun.jndi.dns.NameNode nnode
        end local 4 // com.sun.jndi.dns.NameNode topOfZone
        end local 3 // com.sun.jndi.dns.DnsName zone
        end local 2 // com.sun.jndi.dns.ZoneNode znode
        end local 1 // com.sun.jndi.dns.DnsName fqdn
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   70     0       this  Lcom/sun/jndi/dns/DnsContext;
            0   70     1       fqdn  Lcom/sun/jndi/dns/DnsName;
            3    5     2      znode  Lcom/sun/jndi/dns/ZoneNode;
            7   70     2      znode  Lcom/sun/jndi/dns/ZoneNode;
           25   43     3       zone  Lcom/sun/jndi/dns/DnsName;
           47   70     3       zone  Lcom/sun/jndi/dns/DnsName;
           15   17     4  topOfZone  Lcom/sun/jndi/dns/NameNode;
           19   43     4  topOfZone  Lcom/sun/jndi/dns/NameNode;
           59   61     4  topOfZone  Lcom/sun/jndi/dns/NameNode;
           63   70     4  topOfZone  Lcom/sun/jndi/dns/NameNode;
           21   43     5      nnode  Lcom/sun/jndi/dns/NameNode;
           64   70     5      nnode  Lcom/sun/jndi/dns/NameNode;
           26   43     6    current  Z
           27   43     7    restart  Z
      Exception table:
        from    to  target  type
           2     4       5  any
           5     6       5  any
          14    16      17  any
          17    18      17  any
          28    35      38  any
          36    37      38  any
          38    39      38  any
          49    51      52  any
          52    53      52  any
          55    60      61  any
          61    62      61  any
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      fqdn  

  private com.sun.jndi.dns.NameNode populateZone(com.sun.jndi.dns.ZoneNode, com.sun.jndi.dns.DnsName);
    descriptor: (Lcom/sun/jndi/dns/ZoneNode;Lcom/sun/jndi/dns/DnsName;)Lcom/sun/jndi/dns/NameNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.jndi.dns.DnsContext this
        start local 1 // com.sun.jndi.dns.ZoneNode znode
        start local 2 // com.sun.jndi.dns.DnsName zone
         0: .line 882
            new java.lang.StringBuilder
            dup
            ldc "Populating zone "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* zone */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.sun.jndi.dns.DnsContext.dprint:(Ljava/lang/String;)V
         1: .line 885
            aload 0 /* this */
            invokevirtual com.sun.jndi.dns.DnsContext.getResolver:()Lcom/sun/jndi/dns/Resolver;
            aload 2 /* zone */
         2: .line 886
            iconst_1
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.recursion:Z
         3: .line 885
            invokevirtual com.sun.jndi.dns.Resolver.queryZone:(Lcom/sun/jndi/dns/DnsName;IZ)Lcom/sun/jndi/dns/ResourceRecords;
         4: .line 884
            astore 3 /* rrs */
        start local 3 // com.sun.jndi.dns.ResourceRecords rrs
         5: .line 887
            new java.lang.StringBuilder
            dup
            ldc "zone xfer complete: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* rrs */
            getfield com.sun.jndi.dns.ResourceRecords.answer:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " records"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.sun.jndi.dns.DnsContext.dprint:(Ljava/lang/String;)V
         6: .line 888
            aload 1 /* znode */
            aload 2 /* zone */
            aload 3 /* rrs */
            invokevirtual com.sun.jndi.dns.ZoneNode.populate:(Lcom/sun/jndi/dns/DnsName;Lcom/sun/jndi/dns/ResourceRecords;)Lcom/sun/jndi/dns/NameNode;
            areturn
        end local 3 // com.sun.jndi.dns.ResourceRecords rrs
        end local 2 // com.sun.jndi.dns.DnsName zone
        end local 1 // com.sun.jndi.dns.ZoneNode znode
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lcom/sun/jndi/dns/DnsContext;
            0    7     1  znode  Lcom/sun/jndi/dns/ZoneNode;
            0    7     2   zone  Lcom/sun/jndi/dns/DnsName;
            5    7     3    rrs  Lcom/sun/jndi/dns/ResourceRecords;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
       Name  Flags
      znode  
      zone   

  private boolean isZoneCurrent(com.sun.jndi.dns.ZoneNode, com.sun.jndi.dns.DnsName);
    descriptor: (Lcom/sun/jndi/dns/ZoneNode;Lcom/sun/jndi/dns/DnsName;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // com.sun.jndi.dns.DnsContext this
        start local 1 // com.sun.jndi.dns.ZoneNode znode
        start local 2 // com.sun.jndi.dns.DnsName zone
         0: .line 907
            aload 1 /* znode */
            invokevirtual com.sun.jndi.dns.ZoneNode.isPopulated:()Z
            ifne 2
         1: .line 908
            iconst_0
            ireturn
         2: .line 911
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.jndi.dns.DnsContext.getResolver:()Lcom/sun/jndi/dns/Resolver;
            aload 2 /* zone */
            iconst_1
         3: .line 912
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.recursion:Z
         4: .line 911
            invokevirtual com.sun.jndi.dns.Resolver.findSoa:(Lcom/sun/jndi/dns/DnsName;IZ)Lcom/sun/jndi/dns/ResourceRecord;
         5: .line 910
            astore 3 /* soa */
        start local 3 // com.sun.jndi.dns.ResourceRecord soa
         6: .line 913
            aload 1 /* znode */
            dup
            astore 4
            monitorenter
         7: .line 914
            aload 3 /* soa */
            ifnonnull 9
         8: .line 915
            aload 1 /* znode */
            invokevirtual com.sun.jndi.dns.ZoneNode.depopulate:()V
         9: .line 917
      StackMap locals: com.sun.jndi.dns.ResourceRecord com.sun.jndi.dns.ZoneNode
      StackMap stack:
            aload 1 /* znode */
            invokevirtual com.sun.jndi.dns.ZoneNode.isPopulated:()Z
            ifeq 12
        10: .line 918
            aload 1 /* znode */
            aload 3 /* soa */
            invokevirtual com.sun.jndi.dns.ZoneNode.compareSerialNumberTo:(Lcom/sun/jndi/dns/ResourceRecord;)I
        11: .line 917
            iflt 12
            iconst_1
            goto 13
      StackMap locals:
      StackMap stack:
        12: iconst_0
      StackMap locals:
      StackMap stack: int
        13: aload 4
            monitorexit
        14: ireturn
        15: .line 913
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 4
            monitorexit
        16: athrow
        end local 3 // com.sun.jndi.dns.ResourceRecord soa
        end local 2 // com.sun.jndi.dns.DnsName zone
        end local 1 // com.sun.jndi.dns.ZoneNode znode
        end local 0 // com.sun.jndi.dns.DnsContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   17     0   this  Lcom/sun/jndi/dns/DnsContext;
            0   17     1  znode  Lcom/sun/jndi/dns/ZoneNode;
            0   17     2   zone  Lcom/sun/jndi/dns/DnsName;
            6   17     3    soa  Lcom/sun/jndi/dns/ResourceRecord;
      Exception table:
        from    to  target  type
           7    14      15  any
          15    16      15  any
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
       Name  Flags
      znode  
      zone   

  private static final void dprint(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // java.lang.String msg
         0: .line 931
            return
        end local 0 // java.lang.String msg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   msg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      msg   
}
SourceFile: "DnsContext.java"