public class javax.naming.directory.BasicAttributes implements javax.naming.directory.Attributes
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: javax.naming.directory.BasicAttributes
  super_class: java.lang.Object
{
  private boolean ignoreCase;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  transient java.util.Hashtable<java.lang.String, javax.naming.directory.Attribute> attrs;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0080) ACC_TRANSIENT
    Signature: Ljava/util/Hashtable<Ljava/lang/String;Ljavax/naming/directory/Attribute;>;

  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4980164073184639448

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // javax.naming.directory.BasicAttributes this
         0: .line 89
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 76
            aload 0 /* this */
            iconst_0
            putfield javax.naming.directory.BasicAttributes.ignoreCase:Z
         2: .line 82
            aload 0 /* this */
            new java.util.Hashtable
            dup
            bipush 11
            invokespecial java.util.Hashtable.<init>:(I)V
            putfield javax.naming.directory.BasicAttributes.attrs:Ljava/util/Hashtable;
         3: .line 90
            return
        end local 0 // javax.naming.directory.BasicAttributes this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavax/naming/directory/BasicAttributes;

  public void <init>(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // javax.naming.directory.BasicAttributes this
        start local 1 // boolean ignoreCase
         0: .line 101
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 76
            aload 0 /* this */
            iconst_0
            putfield javax.naming.directory.BasicAttributes.ignoreCase:Z
         2: .line 82
            aload 0 /* this */
            new java.util.Hashtable
            dup
            bipush 11
            invokespecial java.util.Hashtable.<init>:(I)V
            putfield javax.naming.directory.BasicAttributes.attrs:Ljava/util/Hashtable;
         3: .line 102
            aload 0 /* this */
            iload 1 /* ignoreCase */
            putfield javax.naming.directory.BasicAttributes.ignoreCase:Z
         4: .line 103
            return
        end local 1 // boolean ignoreCase
        end local 0 // javax.naming.directory.BasicAttributes this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Ljavax/naming/directory/BasicAttributes;
            0    5     1  ignoreCase  Z
    MethodParameters:
            Name  Flags
      ignoreCase  

  public void <init>(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // javax.naming.directory.BasicAttributes this
        start local 1 // java.lang.String attrID
        start local 2 // java.lang.Object val
         0: .line 116
            aload 0 /* this */
            invokespecial javax.naming.directory.BasicAttributes.<init>:()V
         1: .line 117
            aload 0 /* this */
            new javax.naming.directory.BasicAttribute
            dup
            aload 1 /* attrID */
            aload 2 /* val */
            invokespecial javax.naming.directory.BasicAttribute.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
            invokevirtual javax.naming.directory.BasicAttributes.put:(Ljavax/naming/directory/Attribute;)Ljavax/naming/directory/Attribute;
            pop
         2: .line 118
            return
        end local 2 // java.lang.Object val
        end local 1 // java.lang.String attrID
        end local 0 // javax.naming.directory.BasicAttributes this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Ljavax/naming/directory/BasicAttributes;
            0    3     1  attrID  Ljava/lang/String;
            0    3     2     val  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      attrID  
      val     

  public void <init>(java.lang.String, java.lang.Object, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // javax.naming.directory.BasicAttributes this
        start local 1 // java.lang.String attrID
        start local 2 // java.lang.Object val
        start local 3 // boolean ignoreCase
         0: .line 138
            aload 0 /* this */
            iload 3 /* ignoreCase */
            invokespecial javax.naming.directory.BasicAttributes.<init>:(Z)V
         1: .line 139
            aload 0 /* this */
            new javax.naming.directory.BasicAttribute
            dup
            aload 1 /* attrID */
            aload 2 /* val */
            invokespecial javax.naming.directory.BasicAttribute.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
            invokevirtual javax.naming.directory.BasicAttributes.put:(Ljavax/naming/directory/Attribute;)Ljavax/naming/directory/Attribute;
            pop
         2: .line 140
            return
        end local 3 // boolean ignoreCase
        end local 2 // java.lang.Object val
        end local 1 // java.lang.String attrID
        end local 0 // javax.naming.directory.BasicAttributes this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljavax/naming/directory/BasicAttributes;
            0    3     1      attrID  Ljava/lang/String;
            0    3     2         val  Ljava/lang/Object;
            0    3     3  ignoreCase  Z
    MethodParameters:
            Name  Flags
      attrID      
      val         
      ignoreCase  

  public java.lang.Object clone();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // javax.naming.directory.BasicAttributes this
         0: .line 146
            aload 0 /* this */
            invokespecial java.lang.Object.clone:()Ljava/lang/Object;
            checkcast javax.naming.directory.BasicAttributes
            astore 1 /* attrset */
        start local 1 // javax.naming.directory.BasicAttributes attrset
         1: .line 147
            goto 4
        end local 1 // javax.naming.directory.BasicAttributes attrset
      StackMap locals:
      StackMap stack: java.lang.CloneNotSupportedException
         2: pop
         3: .line 148
            new javax.naming.directory.BasicAttributes
            dup
            aload 0 /* this */
            getfield javax.naming.directory.BasicAttributes.ignoreCase:Z
            invokespecial javax.naming.directory.BasicAttributes.<init>:(Z)V
            astore 1 /* attrset */
        start local 1 // javax.naming.directory.BasicAttributes attrset
         4: .line 150
      StackMap locals: javax.naming.directory.BasicAttributes
      StackMap stack:
            aload 1 /* attrset */
            aload 0 /* this */
            getfield javax.naming.directory.BasicAttributes.attrs:Ljava/util/Hashtable;
            invokevirtual java.util.Hashtable.clone:()Ljava/lang/Object;
            checkcast java.util.Hashtable
            putfield javax.naming.directory.BasicAttributes.attrs:Ljava/util/Hashtable;
         5: .line 151
            aload 1 /* attrset */
            areturn
        end local 1 // javax.naming.directory.BasicAttributes attrset
        end local 0 // javax.naming.directory.BasicAttributes this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Ljavax/naming/directory/BasicAttributes;
            1    2     1  attrset  Ljavax/naming/directory/BasicAttributes;
            4    6     1  attrset  Ljavax/naming/directory/BasicAttributes;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.CloneNotSupportedException

  public boolean isCaseIgnored();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.naming.directory.BasicAttributes this
         0: .line 155
            aload 0 /* this */
            getfield javax.naming.directory.BasicAttributes.ignoreCase:Z
            ireturn
        end local 0 // javax.naming.directory.BasicAttributes this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/naming/directory/BasicAttributes;

  public int size();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.naming.directory.BasicAttributes this
         0: .line 159
            aload 0 /* this */
            getfield javax.naming.directory.BasicAttributes.attrs:Ljava/util/Hashtable;
            invokevirtual java.util.Hashtable.size:()I
            ireturn
        end local 0 // javax.naming.directory.BasicAttributes this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/naming/directory/BasicAttributes;

  public javax.naming.directory.Attribute get(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/naming/directory/Attribute;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // javax.naming.directory.BasicAttributes this
        start local 1 // java.lang.String attrID
         0: .line 163
            aload 0 /* this */
            getfield javax.naming.directory.BasicAttributes.attrs:Ljava/util/Hashtable;
         1: .line 164
            aload 0 /* this */
            getfield javax.naming.directory.BasicAttributes.ignoreCase:Z
            ifeq 2
            aload 1 /* attrID */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            goto 3
      StackMap locals:
      StackMap stack: java.util.Hashtable
         2: aload 1 /* attrID */
         3: .line 163
      StackMap locals: javax.naming.directory.BasicAttributes java.lang.String
      StackMap stack: java.util.Hashtable java.lang.String
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.naming.directory.Attribute
            astore 2 /* attr */
        start local 2 // javax.naming.directory.Attribute attr
         4: .line 165
            aload 2 /* attr */
            areturn
        end local 2 // javax.naming.directory.Attribute attr
        end local 1 // java.lang.String attrID
        end local 0 // javax.naming.directory.BasicAttributes this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljavax/naming/directory/BasicAttributes;
            0    5     1  attrID  Ljava/lang/String;
            4    5     2    attr  Ljavax/naming/directory/Attribute;
    MethodParameters:
        Name  Flags
      attrID  

  public javax.naming.NamingEnumeration<javax.naming.directory.Attribute> getAll();
    descriptor: ()Ljavax/naming/NamingEnumeration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // javax.naming.directory.BasicAttributes this
         0: .line 169
            new javax.naming.directory.BasicAttributes$AttrEnumImpl
            dup
            aload 0 /* this */
            invokespecial javax.naming.directory.BasicAttributes$AttrEnumImpl.<init>:(Ljavax/naming/directory/BasicAttributes;)V
            areturn
        end local 0 // javax.naming.directory.BasicAttributes this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/naming/directory/BasicAttributes;
    Signature: ()Ljavax/naming/NamingEnumeration<Ljavax/naming/directory/Attribute;>;

  public javax.naming.NamingEnumeration<java.lang.String> getIDs();
    descriptor: ()Ljavax/naming/NamingEnumeration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // javax.naming.directory.BasicAttributes this
         0: .line 173
            new javax.naming.directory.BasicAttributes$IDEnumImpl
            dup
            aload 0 /* this */
            invokespecial javax.naming.directory.BasicAttributes$IDEnumImpl.<init>:(Ljavax/naming/directory/BasicAttributes;)V
            areturn
        end local 0 // javax.naming.directory.BasicAttributes this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/naming/directory/BasicAttributes;
    Signature: ()Ljavax/naming/NamingEnumeration<Ljava/lang/String;>;

  public javax.naming.directory.Attribute put(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)Ljavax/naming/directory/Attribute;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // javax.naming.directory.BasicAttributes this
        start local 1 // java.lang.String attrID
        start local 2 // java.lang.Object val
         0: .line 177
            aload 0 /* this */
            new javax.naming.directory.BasicAttribute
            dup
            aload 1 /* attrID */
            aload 2 /* val */
            invokespecial javax.naming.directory.BasicAttribute.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
            invokevirtual javax.naming.directory.BasicAttributes.put:(Ljavax/naming/directory/Attribute;)Ljavax/naming/directory/Attribute;
            areturn
        end local 2 // java.lang.Object val
        end local 1 // java.lang.String attrID
        end local 0 // javax.naming.directory.BasicAttributes this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljavax/naming/directory/BasicAttributes;
            0    1     1  attrID  Ljava/lang/String;
            0    1     2     val  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      attrID  
      val     

  public javax.naming.directory.Attribute put(javax.naming.directory.Attribute);
    descriptor: (Ljavax/naming/directory/Attribute;)Ljavax/naming/directory/Attribute;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // javax.naming.directory.BasicAttributes this
        start local 1 // javax.naming.directory.Attribute attr
         0: .line 181
            aload 1 /* attr */
            invokeinterface javax.naming.directory.Attribute.getID:()Ljava/lang/String;
            astore 2 /* id */
        start local 2 // java.lang.String id
         1: .line 182
            aload 0 /* this */
            getfield javax.naming.directory.BasicAttributes.ignoreCase:Z
            ifeq 3
         2: .line 183
            aload 2 /* id */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            astore 2 /* id */
         3: .line 185
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield javax.naming.directory.BasicAttributes.attrs:Ljava/util/Hashtable;
            aload 2 /* id */
            aload 1 /* attr */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.naming.directory.Attribute
            areturn
        end local 2 // java.lang.String id
        end local 1 // javax.naming.directory.Attribute attr
        end local 0 // javax.naming.directory.BasicAttributes this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavax/naming/directory/BasicAttributes;
            0    4     1  attr  Ljavax/naming/directory/Attribute;
            1    4     2    id  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      attr  

  public javax.naming.directory.Attribute remove(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/naming/directory/Attribute;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // javax.naming.directory.BasicAttributes this
        start local 1 // java.lang.String attrID
         0: .line 189
            aload 0 /* this */
            getfield javax.naming.directory.BasicAttributes.ignoreCase:Z
            ifeq 1
            aload 1 /* attrID */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* attrID */
      StackMap locals:
      StackMap stack: java.lang.String
         2: astore 2 /* id */
        start local 2 // java.lang.String id
         3: .line 190
            aload 0 /* this */
            getfield javax.naming.directory.BasicAttributes.attrs:Ljava/util/Hashtable;
            aload 2 /* id */
            invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.naming.directory.Attribute
            areturn
        end local 2 // java.lang.String id
        end local 1 // java.lang.String attrID
        end local 0 // javax.naming.directory.BasicAttributes this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Ljavax/naming/directory/BasicAttributes;
            0    4     1  attrID  Ljava/lang/String;
            3    4     2      id  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      attrID  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.naming.directory.BasicAttributes this
         0: .line 202
            aload 0 /* this */
            getfield javax.naming.directory.BasicAttributes.attrs:Ljava/util/Hashtable;
            invokevirtual java.util.Hashtable.size:()I
            ifne 2
         1: .line 203
            ldc "No attributes"
            areturn
         2: .line 205
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.naming.directory.BasicAttributes.attrs:Ljava/util/Hashtable;
            invokevirtual java.util.Hashtable.toString:()Ljava/lang/String;
            areturn
        end local 0 // javax.naming.directory.BasicAttributes this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/naming/directory/BasicAttributes;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // javax.naming.directory.BasicAttributes this
        start local 1 // java.lang.Object obj
         0: .line 228
            aload 1 /* obj */
            ifnull 16
            aload 1 /* obj */
            instanceof javax.naming.directory.Attributes
            ifeq 16
         1: .line 229
            aload 1 /* obj */
            checkcast javax.naming.directory.Attributes
            astore 2 /* target */
        start local 2 // javax.naming.directory.Attributes target
         2: .line 232
            aload 0 /* this */
            getfield javax.naming.directory.BasicAttributes.ignoreCase:Z
            aload 2 /* target */
            invokeinterface javax.naming.directory.Attributes.isCaseIgnored:()Z
            if_icmpeq 4
         3: .line 233
            iconst_0
            ireturn
         4: .line 236
      StackMap locals: javax.naming.directory.Attributes
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.naming.directory.BasicAttributes.size:()I
            aload 2 /* target */
            invokeinterface javax.naming.directory.Attributes.size:()I
            if_icmpne 16
         5: .line 239
            aload 2 /* target */
            invokeinterface javax.naming.directory.Attributes.getAll:()Ljavax/naming/NamingEnumeration;
            astore 5 /* theirs */
        start local 5 // javax.naming.NamingEnumeration theirs
         6: .line 240
            goto 11
         7: .line 241
      StackMap locals: javax.naming.directory.BasicAttributes java.lang.Object javax.naming.directory.Attributes top top javax.naming.NamingEnumeration
      StackMap stack:
            aload 5 /* theirs */
            invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
            checkcast javax.naming.directory.Attribute
            astore 3 /* their */
        start local 3 // javax.naming.directory.Attribute their
         8: .line 242
            aload 0 /* this */
            aload 3 /* their */
            invokeinterface javax.naming.directory.Attribute.getID:()Ljava/lang/String;
            invokevirtual javax.naming.directory.BasicAttributes.get:(Ljava/lang/String;)Ljavax/naming/directory/Attribute;
            astore 4 /* mine */
        start local 4 // javax.naming.directory.Attribute mine
         9: .line 243
            aload 3 /* their */
            aload 4 /* mine */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 11
        10: .line 244
            iconst_0
            ireturn
        end local 4 // javax.naming.directory.Attribute mine
        end local 3 // javax.naming.directory.Attribute their
        11: .line 240
      StackMap locals:
      StackMap stack:
            aload 5 /* theirs */
            invokeinterface javax.naming.NamingEnumeration.hasMore:()Z
            ifne 7
        end local 5 // javax.naming.NamingEnumeration theirs
        12: .line 247
            goto 15
      StackMap locals: javax.naming.directory.BasicAttributes java.lang.Object javax.naming.directory.Attributes
      StackMap stack: javax.naming.NamingException
        13: pop
        14: .line 248
            iconst_0
            ireturn
        15: .line 250
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // javax.naming.directory.Attributes target
        16: .line 253
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object obj
        end local 0 // javax.naming.directory.BasicAttributes this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   17     0    this  Ljavax/naming/directory/BasicAttributes;
            0   17     1     obj  Ljava/lang/Object;
            2   16     2  target  Ljavax/naming/directory/Attributes;
            8   11     3   their  Ljavax/naming/directory/Attribute;
            9   11     4    mine  Ljavax/naming/directory/Attribute;
            6   12     5  theirs  Ljavax/naming/NamingEnumeration<*>;
      Exception table:
        from    to  target  type
           5    10      13  Class javax.naming.NamingException
          11    12      13  Class javax.naming.NamingException
    MethodParameters:
      Name  Flags
      obj   

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // javax.naming.directory.BasicAttributes this
         0: .line 271
            aload 0 /* this */
            getfield javax.naming.directory.BasicAttributes.ignoreCase:Z
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 1 /* hash */
        start local 1 // int hash
         3: .line 273
            aload 0 /* this */
            invokevirtual javax.naming.directory.BasicAttributes.getAll:()Ljavax/naming/NamingEnumeration;
            astore 2 /* all */
        start local 2 // javax.naming.NamingEnumeration all
         4: .line 274
            goto 6
         5: .line 275
      StackMap locals: int javax.naming.NamingEnumeration
      StackMap stack:
            iload 1 /* hash */
            aload 2 /* all */
            invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
            invokevirtual java.lang.Object.hashCode:()I
            iadd
            istore 1 /* hash */
         6: .line 274
      StackMap locals:
      StackMap stack:
            aload 2 /* all */
            invokeinterface javax.naming.NamingEnumeration.hasMore:()Z
            ifne 5
        end local 2 // javax.naming.NamingEnumeration all
         7: .line 277
            goto 9
      StackMap locals: javax.naming.directory.BasicAttributes int
      StackMap stack: javax.naming.NamingException
         8: pop
         9: .line 278
      StackMap locals:
      StackMap stack:
            iload 1 /* hash */
            ireturn
        end local 1 // int hash
        end local 0 // javax.naming.directory.BasicAttributes this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Ljavax/naming/directory/BasicAttributes;
            3   10     1  hash  I
            4    7     2   all  Ljavax/naming/NamingEnumeration<*>;
      Exception table:
        from    to  target  type
           3     7       8  Class javax.naming.NamingException

  private void writeObject(java.io.ObjectOutputStream);
    descriptor: (Ljava/io/ObjectOutputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // javax.naming.directory.BasicAttributes this
        start local 1 // java.io.ObjectOutputStream s
         0: .line 289
            aload 1 /* s */
            invokevirtual java.io.ObjectOutputStream.defaultWriteObject:()V
         1: .line 290
            aload 1 /* s */
            aload 0 /* this */
            getfield javax.naming.directory.BasicAttributes.attrs:Ljava/util/Hashtable;
            invokevirtual java.util.Hashtable.size:()I
            invokevirtual java.io.ObjectOutputStream.writeInt:(I)V
         2: .line 291
            aload 0 /* this */
            getfield javax.naming.directory.BasicAttributes.attrs:Ljava/util/Hashtable;
            invokevirtual java.util.Hashtable.elements:()Ljava/util/Enumeration;
            astore 2 /* attrEnum */
        start local 2 // java.util.Enumeration attrEnum
         3: .line 292
            goto 5
         4: .line 293
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 1 /* s */
            aload 2 /* attrEnum */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
         5: .line 292
      StackMap locals:
      StackMap stack:
            aload 2 /* attrEnum */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 4
         6: .line 295
            return
        end local 2 // java.util.Enumeration attrEnum
        end local 1 // java.io.ObjectOutputStream s
        end local 0 // javax.naming.directory.BasicAttributes this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Ljavax/naming/directory/BasicAttributes;
            0    7     1         s  Ljava/io/ObjectOutputStream;
            3    7     2  attrEnum  Ljava/util/Enumeration<Ljavax/naming/directory/Attribute;>;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      s     

  private void readObject(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // javax.naming.directory.BasicAttributes this
        start local 1 // java.io.ObjectInputStream s
         0: .line 302
            aload 1 /* s */
            invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
         1: .line 303
            aload 1 /* s */
            invokevirtual java.io.ObjectInputStream.readInt:()I
            istore 2 /* n */
        start local 2 // int n
         2: .line 304
            aload 0 /* this */
            iload 2 /* n */
            iconst_1
            if_icmplt 4
         3: .line 305
            new java.util.Hashtable
            dup
            iconst_1
            sipush 768
            iload 2 /* n */
            invokestatic java.lang.Math.min:(II)I
            i2f
            ldc 0.75
            fdiv
            f2i
            iadd
            invokespecial java.util.Hashtable.<init>:(I)V
            goto 5
         4: .line 306
      StackMap locals: javax.naming.directory.BasicAttributes java.io.ObjectInputStream int
      StackMap stack: javax.naming.directory.BasicAttributes
            new java.util.Hashtable
            dup
            iconst_2
            invokespecial java.util.Hashtable.<init>:(I)V
         5: .line 304
      StackMap locals: javax.naming.directory.BasicAttributes java.io.ObjectInputStream int
      StackMap stack: javax.naming.directory.BasicAttributes java.util.Hashtable
            putfield javax.naming.directory.BasicAttributes.attrs:Ljava/util/Hashtable;
         6: .line 307
            goto 8
         7: .line 308
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* s */
            invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
            checkcast javax.naming.directory.Attribute
            invokevirtual javax.naming.directory.BasicAttributes.put:(Ljavax/naming/directory/Attribute;)Ljavax/naming/directory/Attribute;
            pop
         8: .line 307
      StackMap locals:
      StackMap stack:
            iinc 2 /* n */ -1
            iload 2 /* n */
            ifge 7
         9: .line 310
            return
        end local 2 // int n
        end local 1 // java.io.ObjectInputStream s
        end local 0 // javax.naming.directory.BasicAttributes this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Ljavax/naming/directory/BasicAttributes;
            0   10     1     s  Ljava/io/ObjectInputStream;
            2   10     2     n  I
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      s     
}
SourceFile: "BasicAttributes.java"
NestMembers:
  javax.naming.directory.BasicAttributes$AttrEnumImpl  javax.naming.directory.BasicAttributes$IDEnumImpl
InnerClasses:
  AttrEnumImpl = javax.naming.directory.BasicAttributes$AttrEnumImpl of javax.naming.directory.BasicAttributes
  IDEnumImpl = javax.naming.directory.BasicAttributes$IDEnumImpl of javax.naming.directory.BasicAttributes