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<java.lang.Object, java.lang.Object> environment;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0000) 
    Signature: Ljava/util/Hashtable<Ljava/lang/Object;Ljava/lang/Object;>;

  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 928
            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 99
            aload 0 /* this */
            invokespecial com.sun.jndi.toolkit.ctx.ComponentDirContext.<init>:()V
         1: .line 102
            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 103
            aload 1 /* domain */
            goto 5
         4: .line 104
      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 102
            putfield com.sun.jndi.dns.DnsContext.domain:Lcom/sun/jndi/dns/DnsName;
         7: .line 105
            aload 0 /* this */
            aload 2 /* servers */
            putfield com.sun.jndi.dns.DnsContext.servers:[Ljava/lang/String;
         8: .line 106
            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 107
            aload 0 /* this */
            iconst_0
            putfield com.sun.jndi.dns.DnsContext.envShared:Z
        10: .line 108
            aload 0 /* this */
            iconst_0
            putfield com.sun.jndi.dns.DnsContext.parentIsDns:Z
        11: .line 109
            aload 0 /* this */
            aconst_null
            putfield com.sun.jndi.dns.DnsContext.resolver:Lcom/sun/jndi/dns/Resolver;
        12: .line 111
            aload 0 /* this */
            invokevirtual com.sun.jndi.dns.DnsContext.initFromEnvironment:()V
        13: .line 112
            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
    Signature: (Ljava/lang/String;[Ljava/lang/String;Ljava/util/Hashtable<**>;)V
    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 119
            aload 0 /* this */
            aload 1 /* ctx */
            invokespecial com.sun.jndi.dns.DnsContext.<init>:(Lcom/sun/jndi/dns/DnsContext;)V
         1: .line 120
            aload 0 /* this */
            aload 2 /* domain */
            putfield com.sun.jndi.dns.DnsContext.domain:Lcom/sun/jndi/dns/DnsName;
         2: .line 121
            aload 0 /* this */
            iconst_1
            putfield com.sun.jndi.dns.DnsContext.parentIsDns:Z
         3: .line 122
            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 131
            aload 0 /* this */
            invokespecial com.sun.jndi.toolkit.ctx.ComponentDirContext.<init>:()V
         1: .line 132
            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 133
            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 134
            aload 0 /* this */
            aload 1 /* ctx */
            getfield com.sun.jndi.dns.DnsContext.parentIsDns:Z
            putfield com.sun.jndi.dns.DnsContext.parentIsDns:Z
         4: .line 135
            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 136
            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 137
            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 138
            aload 0 /* this */
            aload 1 /* ctx */
            getfield com.sun.jndi.dns.DnsContext.authoritative:Z
            putfield com.sun.jndi.dns.DnsContext.authoritative:Z
         8: .line 139
            aload 0 /* this */
            aload 1 /* ctx */
            getfield com.sun.jndi.dns.DnsContext.recursion:Z
            putfield com.sun.jndi.dns.DnsContext.recursion:Z
         9: .line 140
            aload 0 /* this */
            aload 1 /* ctx */
            getfield com.sun.jndi.dns.DnsContext.timeout:I
            putfield com.sun.jndi.dns.DnsContext.timeout:I
        10: .line 141
            aload 0 /* this */
            aload 1 /* ctx */
            getfield com.sun.jndi.dns.DnsContext.retries:I
            putfield com.sun.jndi.dns.DnsContext.retries:I
        11: .line 142
            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 143
            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 146
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.resolver:Lcom/sun/jndi/dns/Resolver;
            ifnull 3
         1: .line 147
            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 148
            aload 0 /* this */
            aconst_null
            putfield com.sun.jndi.dns.DnsContext.resolver:Lcom/sun/jndi/dns/Resolver;
         3: .line 150
      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 159
            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;
    Signature: ()Ljava/util/Hashtable<**>;

  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 163
            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
    Signature: ()Ljava/util/Hashtable<**>;

  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 170
            aload 1 /* propName */
            ldc "com.sun.jndi.dns.lookup.attr"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
         1: .line 171
            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 172
            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 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.authoritative:Z
         5: .line 174
            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 175
            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 176
            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 177
            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 178
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.timeout:I
            iload 3 /* val */
            if_icmpeq 20
        12: .line 179
            aload 0 /* this */
            iload 3 /* val */
            putfield com.sun.jndi.dns.DnsContext.timeout:I
        13: .line 180
            aload 0 /* this */
            aconst_null
            putfield com.sun.jndi.dns.DnsContext.resolver:Lcom/sun/jndi/dns/Resolver;
        end local 3 // int val
        14: .line 182
            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 183
            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 184
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.retries:I
            iload 3 /* val */
            if_icmpeq 20
        18: .line 185
            aload 0 /* this */
            iload 3 /* val */
            putfield com.sun.jndi.dns.DnsContext.retries:I
        19: .line 186
            aload 0 /* this */
            aconst_null
            putfield com.sun.jndi.dns.DnsContext.resolver:Lcom/sun/jndi/dns/Resolver;
        end local 3 // int val
        20: .line 190
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.envShared:Z
            ifne 22
        21: .line 191
            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 192
      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 194
            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 195
            aload 0 /* this */
            iconst_0
            putfield com.sun.jndi.dns.DnsContext.envShared:Z
        25: .line 196
            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 198
      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 206
            aload 1 /* propName */
            ldc "com.sun.jndi.dns.lookup.attr"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
         1: .line 207
            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 208
            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 209
            aload 0 /* this */
            iconst_0
            putfield com.sun.jndi.dns.DnsContext.authoritative:Z
         5: .line 210
            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 211
            aload 0 /* this */
            iconst_1
            putfield com.sun.jndi.dns.DnsContext.recursion:Z
         8: .line 212
            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 213
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.timeout:I
            sipush 1000
            if_icmpeq 18
        11: .line 214
            aload 0 /* this */
            sipush 1000
            putfield com.sun.jndi.dns.DnsContext.timeout:I
        12: .line 215
            aload 0 /* this */
            aconst_null
            putfield com.sun.jndi.dns.DnsContext.resolver:Lcom/sun/jndi/dns/Resolver;
        13: .line 217
            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 218
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.retries:I
            iconst_4
            if_icmpeq 18
        16: .line 219
            aload 0 /* this */
            iconst_4
            putfield com.sun.jndi.dns.DnsContext.retries:I
        17: .line 220
            aload 0 /* this */
            aconst_null
            putfield com.sun.jndi.dns.DnsContext.resolver:Lcom/sun/jndi/dns/Resolver;
        18: .line 224
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.envShared:Z
            ifne 20
        19: .line 225
            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 226
      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 228
            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 229
            aload 0 /* this */
            iconst_0
            putfield com.sun.jndi.dns.DnsContext.envShared:Z
        23: .line 230
            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 232
      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 242
            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 243
            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 251
            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 252
            aload 0 /* this */
            ldc "true"
         2: .line 253
            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 252
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            putfield com.sun.jndi.dns.DnsContext.authoritative:Z
         4: .line 254
            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 255
            aload 0 /* this */
            aload 1 /* val */
            ifnull 7
         6: .line 256
            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 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.recursion:Z
         9: .line 257
            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 258
            aload 0 /* this */
            aload 1 /* val */
            ifnonnull 12
        11: .line 259
            sipush 1000
            goto 13
        12: .line 260
      StackMap locals:
      StackMap stack: com.sun.jndi.dns.DnsContext
            aload 1 /* val */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
        13: .line 258
      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 261
            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 262
            aload 0 /* this */
            aload 1 /* val */
            ifnonnull 17
        16: .line 263
            iconst_4
            goto 18
        17: .line 264
      StackMap locals:
      StackMap stack: com.sun.jndi.dns.DnsContext
            aload 1 /* val */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
        18: .line 262
      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 265
            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 269
            aload 1 /* attrId */
            ifnonnull 2
         1: .line 270
            new com.sun.jndi.dns.CT
            dup
            iconst_1
            bipush 16
            invokespecial com.sun.jndi.dns.CT.<init>:(II)V
            goto 3
         2: .line 271
      StackMap locals:
      StackMap stack:
            aload 1 /* attrId */
            invokestatic com.sun.jndi.dns.DnsContext.fromAttrId:(Ljava/lang/String;)Lcom/sun/jndi/dns/CT;
         3: .line 269
      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 280
            aload 2 /* cont */
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setSuccess:()V
         1: .line 281
            aload 1 /* name */
            invokeinterface javax.naming.Name.isEmpty:()Z
            ifeq 5
         2: .line 282
            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 283
            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 285
            aload 3 /* ctx */
            areturn
        end local 3 // com.sun.jndi.dns.DnsContext ctx
         5: .line 288
      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 290
            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 291
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.recursion:Z
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.authoritative:Z
         8: .line 290
            invokevirtual com.sun.jndi.dns.Resolver.query:(Lcom/sun/jndi/dns/DnsName;IIZZ)Lcom/sun/jndi/dns/ResourceRecords;
         9: .line 289
            astore 4 /* rrs */
        start local 4 // com.sun.jndi.dns.ResourceRecords rrs
        10: .line 292
            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 293
            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 294
            aload 6 /* ctx */
            aload 1 /* name */
            aload 0 /* this */
        13: .line 295
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.environment:Ljava/util/Hashtable;
            aload 5 /* attrs */
        14: .line 294
            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 296
      StackMap locals:
      StackMap stack: javax.naming.NamingException
            astore 3 /* e */
        start local 3 // javax.naming.NamingException e
        17: .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
        18: .line 298
            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 299
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 3 /* e */
        start local 3 // java.lang.Exception e
        20: .line 300
            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 301
            new javax.naming.NamingException
            dup
        22: .line 302
            ldc "Problem generating object using object factory"
        23: .line 301
            invokespecial javax.naming.NamingException.<init>:(Ljava/lang/String;)V
            astore 4 /* ne */
        start local 4 // javax.naming.NamingException ne
        24: .line 303
            aload 4 /* ne */
            aload 3 /* e */
            invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
        25: .line 304
            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 310
            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<javax.naming.NameClassPair> 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 315
            aload 2 /* cont */
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setSuccess:()V
         1: .line 317
            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 318
            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 319
            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 320
            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 322
      StackMap locals:
      StackMap stack: javax.naming.NamingException
            astore 3 /* e */
        start local 3 // javax.naming.NamingException e
         7: .line 323
            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 324
            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
    Signature: (Ljavax/naming/Name;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/NamingEnumeration<Ljavax/naming/NameClassPair;>;
    MethodParameters:
      Name  Flags
      name  
      cont  

  public javax.naming.NamingEnumeration<javax.naming.Binding> 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 330
            aload 2 /* cont */
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setSuccess:()V
         1: .line 332
            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 333
            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 334
            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 335
            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 337
      StackMap locals:
      StackMap stack: javax.naming.NamingException
            astore 3 /* e */
        start local 3 // javax.naming.NamingException e
         7: .line 338
            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 339
            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
    Signature: (Ljavax/naming/Name;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/NamingEnumeration<Ljavax/naming/Binding;>;
    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 345
            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 346
            aload 3 /* cont */
         2: .line 347
            new javax.naming.OperationNotSupportedException
            dup
            invokespecial javax.naming.OperationNotSupportedException.<init>:()V
         3: .line 346
            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 352
            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 353
            aload 3 /* cont */
         2: .line 354
            new javax.naming.OperationNotSupportedException
            dup
            invokespecial javax.naming.OperationNotSupportedException.<init>:()V
         3: .line 353
            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 359
            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 360
            aload 2 /* cont */
         2: .line 361
            new javax.naming.OperationNotSupportedException
            dup
            invokespecial javax.naming.OperationNotSupportedException.<init>:()V
         3: .line 360
            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 366
            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 367
            aload 3 /* cont */
         2: .line 368
            new javax.naming.OperationNotSupportedException
            dup
            invokespecial javax.naming.OperationNotSupportedException.<init>:()V
         3: .line 367
            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 373
            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 374
            aload 2 /* cont */
         2: .line 375
            new javax.naming.OperationNotSupportedException
            dup
            invokespecial javax.naming.OperationNotSupportedException.<init>:()V
         3: .line 374
            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 380
            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 381
            aload 2 /* cont */
         2: .line 382
            new javax.naming.OperationNotSupportedException
            dup
            invokespecial javax.naming.OperationNotSupportedException.<init>:()V
         3: .line 381
            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 387
            aload 2 /* cont */
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setSuccess:()V
         1: .line 388
            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 399
            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 400
            aload 4 /* cont */
         2: .line 401
            new javax.naming.OperationNotSupportedException
            dup
            invokespecial javax.naming.OperationNotSupportedException.<init>:()V
         3: .line 400
            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 409
            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 410
            aload 4 /* cont */
         2: .line 411
            new javax.naming.OperationNotSupportedException
            dup
            invokespecial javax.naming.OperationNotSupportedException.<init>:()V
         3: .line 410
            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 418
            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 419
            aload 3 /* cont */
         2: .line 420
            new javax.naming.OperationNotSupportedException
            dup
            invokespecial javax.naming.OperationNotSupportedException.<init>:()V
         3: .line 419
            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 428
            aload 3 /* cont */
            invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setSuccess:()V
         1: .line 430
            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 431
            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 432
            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 434
            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 435
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.recursion:Z
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.authoritative:Z
         6: .line 434
            invokevirtual com.sun.jndi.dns.Resolver.query:(Lcom/sun/jndi/dns/DnsName;IIZZ)Lcom/sun/jndi/dns/ResourceRecords;
         7: .line 433
            astore 7 /* rrs */
        start local 7 // com.sun.jndi.dns.ResourceRecords rrs
         8: .line 436
            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 438
      StackMap locals:
      StackMap stack: javax.naming.NamingException
            astore 4 /* e */
        start local 4 // javax.naming.NamingException e
        11: .line 439
            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 440
            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 449
            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 450
            aload 4 /* cont */
         2: .line 451
            new javax.naming.OperationNotSupportedException
            dup
            invokespecial javax.naming.OperationNotSupportedException.<init>:()V
         3: .line 450
            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 458
            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 459
            aload 3 /* cont */
         2: .line 460
            new javax.naming.OperationNotSupportedException
            dup
            invokespecial javax.naming.OperationNotSupportedException.<init>:()V
         3: .line 459
            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<javax.naming.directory.SearchResult> 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 468
            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
    Signature: (Ljavax/naming/Name;Ljavax/naming/directory/Attributes;[Ljava/lang/String;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/NamingEnumeration<Ljavax/naming/directory/SearchResult;>;
    MethodParameters:
                    Name  Flags
      name                
      matchingAttributes  
      attributesToReturn  
      cont                

  public javax.naming.NamingEnumeration<javax.naming.directory.SearchResult> 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 476
            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
    Signature: (Ljavax/naming/Name;Ljava/lang/String;Ljavax/naming/directory/SearchControls;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/NamingEnumeration<Ljavax/naming/directory/SearchResult;>;
    MethodParameters:
        Name  Flags
      name    
      filter  
      cons    
      cont    

  public javax.naming.NamingEnumeration<javax.naming.directory.SearchResult> 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;[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 485
            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
    Signature: (Ljavax/naming/Name;Ljava/lang/String;[Ljava/lang/Object;Ljavax/naming/directory/SearchControls;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/NamingEnumeration<Ljavax/naming/directory/SearchResult;>;
    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 490
            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 491
            aload 2 /* cont */
         2: .line 492
            new javax.naming.OperationNotSupportedException
            dup
            invokespecial javax.naming.OperationNotSupportedException.<init>:()V
         3: .line 491
            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 497
            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 498
            aload 2 /* cont */
         2: .line 499
            new javax.naming.OperationNotSupportedException
            dup
            invokespecial javax.naming.OperationNotSupportedException.<init>:()V
         3: .line 498
            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 506
            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 514
            aload 2 /* prefix */
            instanceof com.sun.jndi.dns.DnsName
            ifne 2
            aload 2 /* prefix */
            instanceof javax.naming.CompositeName
            ifne 2
         1: .line 515
            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 517
      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 518
            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 524
      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 525
            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 526
            aload 3 /* result */
            aload 1 /* name */
            invokeinterface javax.naming.Name.addAll:(Ljavax/naming/Name;)Ljavax/naming/Name;
            pop
         7: .line 527
            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 531
      StackMap locals:
      StackMap stack:
            aload 2 /* prefix */
            instanceof javax.naming.CompositeName
            ifeq 10
         9: .line 532
            aload 2 /* prefix */
            goto 11
        10: .line 533
      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 531
      StackMap locals:
      StackMap stack: javax.naming.Name
            astore 4 /* prefixC */
        start local 4 // javax.naming.Name prefixC
        12: .line 534
            aload 1 /* name */
            instanceof javax.naming.CompositeName
            ifeq 14
        13: .line 535
            aload 1 /* name */
            goto 15
        14: .line 536
      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 534
      StackMap locals:
      StackMap stack: javax.naming.Name
            astore 5 /* nameC */
        start local 5 // javax.naming.Name nameC
        16: .line 537
            aload 4 /* prefixC */
            invokeinterface javax.naming.Name.size:()I
            iconst_1
            isub
            istore 6 /* prefixLast */
        start local 6 // int prefixLast
        17: .line 540
            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 541
            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 542
      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 545
      StackMap locals:
      StackMap stack:
            aload 2 /* prefix */
            aload 4 /* prefixC */
            if_acmpne 22
        21: .line 546
            aload 4 /* prefixC */
            invokeinterface javax.naming.Name.clone:()Ljava/lang/Object;
            checkcast javax.naming.CompositeName
            goto 23
        22: .line 547
      StackMap locals:
      StackMap stack:
            aload 4 /* prefixC */
        23: .line 545
      StackMap locals:
      StackMap stack: javax.naming.Name
            astore 3 /* result */
        start local 3 // javax.naming.Name result
        24: .line 548
            aload 3 /* result */
            aload 5 /* nameC */
            invokeinterface javax.naming.Name.addAll:(Ljavax/naming/Name;)Ljavax/naming/Name;
            pop
        25: .line 550
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.parentIsDns:Z
            ifeq 37
        26: .line 551
            aload 2 /* prefix */
            instanceof com.sun.jndi.dns.DnsName
            ifeq 28
        27: .line 552
            aload 2 /* prefix */
            invokeinterface javax.naming.Name.clone:()Ljava/lang/Object;
            checkcast com.sun.jndi.dns.DnsName
            goto 29
        28: .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
      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 551
      StackMap locals:
      StackMap stack: com.sun.jndi.dns.DnsName
            astore 7 /* dnsComp */
        start local 7 // com.sun.jndi.dns.DnsName dnsComp
        30: .line 554
            aload 7 /* dnsComp */
            aload 1 /* name */
            instanceof com.sun.jndi.dns.DnsName
            ifeq 32
        31: .line 555
            aload 1 /* name */
            goto 33
        32: .line 556
      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 554
      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 557
            aload 3 /* result */
            iload 6 /* prefixLast */
            iconst_1
            iadd
            invokeinterface javax.naming.Name.remove:(I)Ljava/lang/Object;
            pop
        35: .line 558
            aload 3 /* result */
            iload 6 /* prefixLast */
            invokeinterface javax.naming.Name.remove:(I)Ljava/lang/Object;
            pop
        36: .line 559
            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 561
      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 572
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.resolver:Lcom/sun/jndi/dns/Resolver;
            ifnonnull 2
         1: .line 573
            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 575
      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 584
            aload 1 /* name */
            invokeinterface javax.naming.Name.isEmpty:()Z
            ifeq 2
         1: .line 585
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.domain:Lcom/sun/jndi/dns/DnsName;
            areturn
         2: .line 587
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            instanceof javax.naming.CompositeName
            ifeq 4
         3: .line 588
            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 589
      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 587
      StackMap locals:
      StackMap stack: com.sun.jndi.dns.DnsName
            astore 2 /* dnsName */
        start local 2 // com.sun.jndi.dns.DnsName dnsName
         6: .line 591
            aload 2 /* dnsName */
            invokevirtual com.sun.jndi.dns.DnsName.hasRootLabel:()Z
            ifeq 12
         7: .line 593
            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 594
            aload 2 /* dnsName */
            areturn
         9: .line 596
      StackMap locals: com.sun.jndi.dns.DnsName
      StackMap stack:
            new javax.naming.InvalidNameException
            dup
        10: .line 597
            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 596
            invokespecial javax.naming.InvalidNameException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 600
      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 611
            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 613
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 15
         3: .line 614
      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 615
            aload 4 /* rr */
            invokevirtual com.sun.jndi.dns.ResourceRecord.getType:()I
            istore 5 /* rrtype */
        start local 5 // int rrtype
         5: .line 616
            aload 4 /* rr */
            invokevirtual com.sun.jndi.dns.ResourceRecord.getRrclass:()I
            istore 6 /* rrclass */
        start local 6 // int rrclass
         6: .line 618
            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 619
            goto 14
         8: .line 622
      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 623
            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 624
            aload 8 /* attr */
            ifnonnull 13
        11: .line 625
            new javax.naming.directory.BasicAttribute
            dup
            aload 7 /* attrId */
            invokespecial javax.naming.directory.BasicAttribute.<init>:(Ljava/lang/String;)V
            astore 8 /* attr */
        12: .line 626
            aload 2 /* attrs */
            aload 8 /* attr */
            invokevirtual javax.naming.directory.BasicAttributes.put:(Ljavax/naming/directory/Attribute;)Ljavax/naming/directory/Attribute;
            pop
        13: .line 628
      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 613
      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 630
            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 641
            aload 2 /* cts */
            ifnonnull 2
         1: .line 642
            iconst_1
            ireturn
         2: .line 644
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 18
         4: .line 645
      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 646
            aload 4 /* ct */
            getfield com.sun.jndi.dns.CT.rrclass:I
            sipush 255
            if_icmpeq 8
         6: .line 647
            aload 4 /* ct */
            getfield com.sun.jndi.dns.CT.rrclass:I
            iload 0 /* rrclass */
            if_icmpeq 8
         7: .line 646
            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 648
            aload 4 /* ct */
            getfield com.sun.jndi.dns.CT.rrtype:I
            sipush 255
            if_icmpeq 13
        11: .line 649
            aload 4 /* ct */
            getfield com.sun.jndi.dns.CT.rrtype:I
            iload 1 /* rrtype */
            if_icmpeq 13
        12: .line 648
            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 650
            iload 5 /* classMatch */
            ifeq 17
            iload 6 /* typeMatch */
            ifeq 17
        16: .line 651
            iconst_1
            ireturn
        end local 6 // boolean typeMatch
        end local 5 // boolean classMatch
        end local 4 // com.sun.jndi.dns.CT ct
        17: .line 644
      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 654
            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 672
            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 673
            iload 0 /* rrclass */
            iconst_1
            if_icmpeq 3
         2: .line 674
            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 676
      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 690
            aload 0 /* attrId */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         1: .line 691
            new javax.naming.directory.InvalidAttributeIdentifierException
            dup
         2: .line 692
            ldc "Attribute ID cannot be empty"
         3: .line 691
            invokespecial javax.naming.directory.InvalidAttributeIdentifierException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 696
      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 699
            iload 3 /* space */
            ifge 8
         6: .line 700
            iconst_1
            istore 1 /* rrclass */
        start local 1 // int rrclass
         7: .line 701
            goto 14
        end local 1 // int rrclass
         8: .line 702
      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 703
            aload 4 /* className */
            invokestatic com.sun.jndi.dns.ResourceRecord.getRrclass:(Ljava/lang/String;)I
            istore 1 /* rrclass */
        start local 1 // int rrclass
        10: .line 704
            iload 1 /* rrclass */
            ifge 14
        11: .line 705
            new javax.naming.directory.InvalidAttributeIdentifierException
            dup
        12: .line 706
            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 705
            invokespecial javax.naming.directory.InvalidAttributeIdentifierException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.String className
        14: .line 711
      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 712
            aload 4 /* typeName */
            invokestatic com.sun.jndi.dns.ResourceRecord.getType:(Ljava/lang/String;)I
            istore 2 /* rrtype */
        start local 2 // int rrtype
        16: .line 713
            iload 2 /* rrtype */
            ifge 20
        17: .line 714
            new javax.naming.directory.InvalidAttributeIdentifierException
            dup
        18: .line 715
            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 714
            invokespecial javax.naming.directory.InvalidAttributeIdentifierException.<init>:(Ljava/lang/String;)V
            athrow
        20: .line 718
      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 729
            aload 0 /* attrIds */
            ifnonnull 2
         1: .line 730
            aconst_null
            areturn
         2: .line 732
      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 734
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 7
         5: .line 735
      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 734
            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 737
            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 749
            aload 0 /* cts */
            ifnonnull 4
         1: .line 751
            sipush 255
            istore 1 /* rrclass */
        start local 1 // int rrclass
         2: .line 752
            sipush 255
            istore 2 /* rrtype */
        start local 2 // int rrtype
         3: .line 753
            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 755
            iconst_1
            istore 1 /* rrclass */
        start local 1 // int rrclass
         6: .line 756
            sipush 255
            istore 2 /* rrtype */
        start local 2 // int rrtype
         7: .line 757
            goto 18
        end local 2 // int rrtype
        end local 1 // int rrclass
         8: .line 758
      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 759
            aload 0 /* cts */
            iconst_0
            aaload
            getfield com.sun.jndi.dns.CT.rrtype:I
            istore 2 /* rrtype */
        start local 2 // int rrtype
        10: .line 760
            iconst_1
            istore 3 /* i */
        start local 3 // int i
        11: goto 17
        12: .line 761
      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 762
            sipush 255
            istore 1 /* rrclass */
        14: .line 764
      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 765
            sipush 255
            istore 2 /* rrtype */
        16: .line 760
      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 769
      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 800
            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 805
            getstatic com.sun.jndi.dns.DnsContext.zoneTree:Lcom/sun/jndi/dns/ZoneNode;
            dup
            astore 4
            monitorenter
         2: .line 806
            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 805
            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 808
      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 809
            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 808
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.sun.jndi.dns.DnsContext.dprint:(Ljava/lang/String;)V
        12: .line 814
            aload 2 /* znode */
            ifnull 43
        13: .line 815
            aload 2 /* znode */
            dup
            astore 6
            monitorenter
        14: .line 816
            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 815
            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 820
      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 821
            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 823
            aload 5 /* nnode */
            ifnull 43
            aload 5 /* nnode */
            invokevirtual com.sun.jndi.dns.NameNode.isZoneCut:()Z
            ifne 43
        22: .line 824
            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 826
            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 825
            checkcast com.sun.jndi.dns.DnsName
            astore 3 /* zone */
        start local 3 // com.sun.jndi.dns.DnsName zone
        25: .line 827
            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 828
            iconst_0
            istore 7 /* restart */
        start local 7 // boolean restart
        27: .line 830
            aload 2 /* znode */
            dup
            astore 8
            monitorenter
        28: .line 831
            aload 4 /* topOfZone */
            aload 2 /* znode */
            invokevirtual com.sun.jndi.dns.ZoneNode.getContents:()Lcom/sun/jndi/dns/NameNode;
            if_acmpeq 31
        29: .line 834
            iconst_1
            istore 7 /* restart */
        30: .line 835
            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 836
            aload 2 /* znode */
            invokevirtual com.sun.jndi.dns.ZoneNode.depopulate:()V
        33: .line 837
            goto 36
        34: .line 838
      StackMap locals:
      StackMap stack:
            aload 5 /* nnode */
            aload 8
            monitorexit
        35: areturn
        36: .line 830
      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 841
      StackMap locals:
      StackMap stack:
            ldc "Zone not current; discarding node"
            invokestatic com.sun.jndi.dns.DnsContext.dprint:(Ljava/lang/String;)V
        41: .line 842
            iload 7 /* restart */
            ifeq 43
        42: .line 843
            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 850
      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 853
            aload 0 /* this */
            invokevirtual com.sun.jndi.dns.DnsContext.getResolver:()Lcom/sun/jndi/dns/Resolver;
            aload 1 /* fqdn */
            iconst_1
        45: .line 854
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.recursion:Z
        46: .line 853
            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 855
            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 856
            getstatic com.sun.jndi.dns.DnsContext.zoneTree:Lcom/sun/jndi/dns/ZoneNode;
            dup
            astore 6
            monitorenter
        49: .line 857
            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 856
            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 864
      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 865
            aload 2 /* znode */
            invokevirtual com.sun.jndi.dns.ZoneNode.isPopulated:()Z
            ifeq 57
        56: .line 866
            aload 2 /* znode */
            invokevirtual com.sun.jndi.dns.ZoneNode.getContents:()Lcom/sun/jndi/dns/NameNode;
            goto 58
        57: .line 867
      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 865
      StackMap locals:
      StackMap stack: com.sun.jndi.dns.NameNode
            astore 4 /* topOfZone */
        start local 4 // com.sun.jndi.dns.NameNode topOfZone
        59: .line 864
            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 870
      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 871
            aload 5 /* nnode */
            ifnonnull 68
        65: .line 872
            new javax.naming.ConfigurationException
            dup
        66: .line 873
            ldc "DNS error: node not found in its own zone"
        67: .line 872
            invokespecial javax.naming.ConfigurationException.<init>:(Ljava/lang/String;)V
            athrow
        68: .line 875
      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 876
            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 885
            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 888
            aload 0 /* this */
            invokevirtual com.sun.jndi.dns.DnsContext.getResolver:()Lcom/sun/jndi/dns/Resolver;
            aload 2 /* zone */
         2: .line 889
            iconst_1
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.recursion:Z
         3: .line 888
            invokevirtual com.sun.jndi.dns.Resolver.queryZone:(Lcom/sun/jndi/dns/DnsName;IZ)Lcom/sun/jndi/dns/ResourceRecords;
         4: .line 887
            astore 3 /* rrs */
        start local 3 // com.sun.jndi.dns.ResourceRecords rrs
         5: .line 890
            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 891
            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 910
            aload 1 /* znode */
            invokevirtual com.sun.jndi.dns.ZoneNode.isPopulated:()Z
            ifne 2
         1: .line 911
            iconst_0
            ireturn
         2: .line 914
      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 915
            aload 0 /* this */
            getfield com.sun.jndi.dns.DnsContext.recursion:Z
         4: .line 914
            invokevirtual com.sun.jndi.dns.Resolver.findSoa:(Lcom/sun/jndi/dns/DnsName;IZ)Lcom/sun/jndi/dns/ResourceRecord;
         5: .line 913
            astore 3 /* soa */
        start local 3 // com.sun.jndi.dns.ResourceRecord soa
         6: .line 916
            aload 1 /* znode */
            dup
            astore 4
            monitorenter
         7: .line 917
            aload 3 /* soa */
            ifnonnull 9
         8: .line 918
            aload 1 /* znode */
            invokevirtual com.sun.jndi.dns.ZoneNode.depopulate:()V
         9: .line 920
      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 921
            aload 1 /* znode */
            aload 3 /* soa */
            invokevirtual com.sun.jndi.dns.ZoneNode.compareSerialNumberTo:(Lcom/sun/jndi/dns/ResourceRecord;)I
        11: .line 920
            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 916
      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 934
            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"