public class javax.naming.Reference implements java.lang.Cloneable, java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: javax.naming.Reference
  super_class: java.lang.Object
{
  protected java.lang.String className;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected java.util.Vector<javax.naming.RefAddr> addrs;
    descriptor: Ljava/util/Vector;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/Vector<Ljavax/naming/RefAddr;>;

  protected java.lang.String classFactory;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String classFactoryLocation;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

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

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.naming.Reference this
        start local 1 // java.lang.String className
         0: .line 121
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 96
            aload 0 /* this */
            aconst_null
            putfield javax.naming.Reference.addrs:Ljava/util/Vector;
         2: .line 104
            aload 0 /* this */
            aconst_null
            putfield javax.naming.Reference.classFactory:Ljava/lang/String;
         3: .line 111
            aload 0 /* this */
            aconst_null
            putfield javax.naming.Reference.classFactoryLocation:Ljava/lang/String;
         4: .line 122
            aload 0 /* this */
            aload 1 /* className */
            putfield javax.naming.Reference.className:Ljava/lang/String;
         5: .line 123
            aload 0 /* this */
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            putfield javax.naming.Reference.addrs:Ljava/util/Vector;
         6: .line 124
            return
        end local 1 // java.lang.String className
        end local 0 // javax.naming.Reference this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Ljavax/naming/Reference;
            0    7     1  className  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      className  

  public void <init>(java.lang.String, javax.naming.RefAddr);
    descriptor: (Ljava/lang/String;Ljavax/naming/RefAddr;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // javax.naming.Reference this
        start local 1 // java.lang.String className
        start local 2 // javax.naming.RefAddr addr
         0: .line 135
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 96
            aload 0 /* this */
            aconst_null
            putfield javax.naming.Reference.addrs:Ljava/util/Vector;
         2: .line 104
            aload 0 /* this */
            aconst_null
            putfield javax.naming.Reference.classFactory:Ljava/lang/String;
         3: .line 111
            aload 0 /* this */
            aconst_null
            putfield javax.naming.Reference.classFactoryLocation:Ljava/lang/String;
         4: .line 136
            aload 0 /* this */
            aload 1 /* className */
            putfield javax.naming.Reference.className:Ljava/lang/String;
         5: .line 137
            aload 0 /* this */
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            putfield javax.naming.Reference.addrs:Ljava/util/Vector;
         6: .line 138
            aload 0 /* this */
            getfield javax.naming.Reference.addrs:Ljava/util/Vector;
            aload 2 /* addr */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
         7: .line 139
            return
        end local 2 // javax.naming.RefAddr addr
        end local 1 // java.lang.String className
        end local 0 // javax.naming.Reference this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Ljavax/naming/Reference;
            0    8     1  className  Ljava/lang/String;
            0    8     2       addr  Ljavax/naming/RefAddr;
    MethodParameters:
           Name  Flags
      className  
      addr       

  public void <init>(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // javax.naming.Reference this
        start local 1 // java.lang.String className
        start local 2 // java.lang.String factory
        start local 3 // java.lang.String factoryLocation
         0: .line 155
            aload 0 /* this */
            aload 1 /* className */
            invokespecial javax.naming.Reference.<init>:(Ljava/lang/String;)V
         1: .line 156
            aload 0 /* this */
            aload 2 /* factory */
            putfield javax.naming.Reference.classFactory:Ljava/lang/String;
         2: .line 157
            aload 0 /* this */
            aload 3 /* factoryLocation */
            putfield javax.naming.Reference.classFactoryLocation:Ljava/lang/String;
         3: .line 158
            return
        end local 3 // java.lang.String factoryLocation
        end local 2 // java.lang.String factory
        end local 1 // java.lang.String className
        end local 0 // javax.naming.Reference this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Ljavax/naming/Reference;
            0    4     1        className  Ljava/lang/String;
            0    4     2          factory  Ljava/lang/String;
            0    4     3  factoryLocation  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      className        
      factory          
      factoryLocation  

  public void <init>(java.lang.String, javax.naming.RefAddr, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljavax/naming/RefAddr;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // javax.naming.Reference this
        start local 1 // java.lang.String className
        start local 2 // javax.naming.RefAddr addr
        start local 3 // java.lang.String factory
        start local 4 // java.lang.String factoryLocation
         0: .line 176
            aload 0 /* this */
            aload 1 /* className */
            aload 2 /* addr */
            invokespecial javax.naming.Reference.<init>:(Ljava/lang/String;Ljavax/naming/RefAddr;)V
         1: .line 177
            aload 0 /* this */
            aload 3 /* factory */
            putfield javax.naming.Reference.classFactory:Ljava/lang/String;
         2: .line 178
            aload 0 /* this */
            aload 4 /* factoryLocation */
            putfield javax.naming.Reference.classFactoryLocation:Ljava/lang/String;
         3: .line 179
            return
        end local 4 // java.lang.String factoryLocation
        end local 3 // java.lang.String factory
        end local 2 // javax.naming.RefAddr addr
        end local 1 // java.lang.String className
        end local 0 // javax.naming.Reference this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Ljavax/naming/Reference;
            0    4     1        className  Ljava/lang/String;
            0    4     2             addr  Ljavax/naming/RefAddr;
            0    4     3          factory  Ljava/lang/String;
            0    4     4  factoryLocation  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      className        
      addr             
      factory          
      factoryLocation  

  public java.lang.String getClassName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.naming.Reference this
         0: .line 188
            aload 0 /* this */
            getfield javax.naming.Reference.className:Ljava/lang/String;
            areturn
        end local 0 // javax.naming.Reference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/naming/Reference;

  public java.lang.String getFactoryClassName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.naming.Reference this
         0: .line 199
            aload 0 /* this */
            getfield javax.naming.Reference.classFactory:Ljava/lang/String;
            areturn
        end local 0 // javax.naming.Reference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/naming/Reference;

  public java.lang.String getFactoryClassLocation();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.naming.Reference this
         0: .line 213
            aload 0 /* this */
            getfield javax.naming.Reference.classFactoryLocation:Ljava/lang/String;
            areturn
        end local 0 // javax.naming.Reference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/naming/Reference;

  public javax.naming.RefAddr get(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/naming/RefAddr;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // javax.naming.Reference this
        start local 1 // java.lang.String addrType
         0: .line 225
            aload 0 /* this */
            getfield javax.naming.Reference.addrs:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            istore 2 /* len */
        start local 2 // int len
         1: .line 227
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 7
         3: .line 228
      StackMap locals: javax.naming.Reference java.lang.String int top int
      StackMap stack:
            aload 0 /* this */
            getfield javax.naming.Reference.addrs:Ljava/util/Vector;
            iload 4 /* i */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast javax.naming.RefAddr
            astore 3 /* addr */
        start local 3 // javax.naming.RefAddr addr
         4: .line 229
            aload 3 /* addr */
            invokevirtual javax.naming.RefAddr.getType:()Ljava/lang/String;
            aload 1 /* addrType */
            invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
            ifne 6
         5: .line 230
            aload 3 /* addr */
            areturn
         6: .line 227
      StackMap locals: javax.naming.Reference java.lang.String int javax.naming.RefAddr int
      StackMap stack:
            iinc 4 /* i */ 1
        end local 3 // javax.naming.RefAddr addr
      StackMap locals: javax.naming.Reference java.lang.String int top int
      StackMap stack:
         7: iload 4 /* i */
            iload 2 /* len */
            if_icmplt 3
        end local 4 // int i
         8: .line 232
            aconst_null
            areturn
        end local 2 // int len
        end local 1 // java.lang.String addrType
        end local 0 // javax.naming.Reference this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Ljavax/naming/Reference;
            0    9     1  addrType  Ljava/lang/String;
            1    9     2       len  I
            4    7     3      addr  Ljavax/naming/RefAddr;
            2    8     4         i  I
    MethodParameters:
          Name  Flags
      addrType  

  public javax.naming.RefAddr get(int);
    descriptor: (I)Ljavax/naming/RefAddr;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.naming.Reference this
        start local 1 // int posn
         0: .line 244
            aload 0 /* this */
            getfield javax.naming.Reference.addrs:Ljava/util/Vector;
            iload 1 /* posn */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast javax.naming.RefAddr
            areturn
        end local 1 // int posn
        end local 0 // javax.naming.Reference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/naming/Reference;
            0    1     1  posn  I
    MethodParameters:
      Name  Flags
      posn  

  public java.util.Enumeration<javax.naming.RefAddr> getAll();
    descriptor: ()Ljava/util/Enumeration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.naming.Reference this
         0: .line 258
            aload 0 /* this */
            getfield javax.naming.Reference.addrs:Ljava/util/Vector;
            invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
            areturn
        end local 0 // javax.naming.Reference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/naming/Reference;
    Signature: ()Ljava/util/Enumeration<Ljavax/naming/RefAddr;>;

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

  public void add(javax.naming.RefAddr);
    descriptor: (Ljavax/naming/RefAddr;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.naming.Reference this
        start local 1 // javax.naming.RefAddr addr
         0: .line 276
            aload 0 /* this */
            getfield javax.naming.Reference.addrs:Ljava/util/Vector;
            aload 1 /* addr */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
         1: .line 277
            return
        end local 1 // javax.naming.RefAddr addr
        end local 0 // javax.naming.Reference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/naming/Reference;
            0    2     1  addr  Ljavax/naming/RefAddr;
    MethodParameters:
      Name  Flags
      addr  

  public void add(int, javax.naming.RefAddr);
    descriptor: (ILjavax/naming/RefAddr;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // javax.naming.Reference this
        start local 1 // int posn
        start local 2 // javax.naming.RefAddr addr
         0: .line 290
            aload 0 /* this */
            getfield javax.naming.Reference.addrs:Ljava/util/Vector;
            aload 2 /* addr */
            iload 1 /* posn */
            invokevirtual java.util.Vector.insertElementAt:(Ljava/lang/Object;I)V
         1: .line 291
            return
        end local 2 // javax.naming.RefAddr addr
        end local 1 // int posn
        end local 0 // javax.naming.Reference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/naming/Reference;
            0    2     1  posn  I
            0    2     2  addr  Ljavax/naming/RefAddr;
    MethodParameters:
      Name  Flags
      posn  
      addr  

  public java.lang.Object remove(int);
    descriptor: (I)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // javax.naming.Reference this
        start local 1 // int posn
         0: .line 304
            aload 0 /* this */
            getfield javax.naming.Reference.addrs:Ljava/util/Vector;
            iload 1 /* posn */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            astore 2 /* r */
        start local 2 // java.lang.Object r
         1: .line 305
            aload 0 /* this */
            getfield javax.naming.Reference.addrs:Ljava/util/Vector;
            iload 1 /* posn */
            invokevirtual java.util.Vector.removeElementAt:(I)V
         2: .line 306
            aload 2 /* r */
            areturn
        end local 2 // java.lang.Object r
        end local 1 // int posn
        end local 0 // javax.naming.Reference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/naming/Reference;
            0    3     1  posn  I
            1    3     2     r  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      posn  

  public void clear();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.naming.Reference this
         0: .line 313
            aload 0 /* this */
            getfield javax.naming.Reference.addrs:Ljava/util/Vector;
            iconst_0
            invokevirtual java.util.Vector.setSize:(I)V
         1: .line 314
            return
        end local 0 // javax.naming.Reference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/naming/Reference;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // javax.naming.Reference this
        start local 1 // java.lang.Object obj
         0: .line 329
            aload 1 /* obj */
            ifnull 11
            aload 1 /* obj */
            instanceof javax.naming.Reference
            ifeq 11
         1: .line 330
            aload 1 /* obj */
            checkcast javax.naming.Reference
            astore 2 /* target */
        start local 2 // javax.naming.Reference target
         2: .line 332
            aload 2 /* target */
            getfield javax.naming.Reference.className:Ljava/lang/String;
            aload 0 /* this */
            getfield javax.naming.Reference.className:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
         3: .line 333
            aload 2 /* target */
            invokevirtual javax.naming.Reference.size:()I
            aload 0 /* this */
            invokevirtual javax.naming.Reference.size:()I
            if_icmpne 11
         4: .line 334
            aload 0 /* this */
            invokevirtual javax.naming.Reference.getAll:()Ljava/util/Enumeration;
            astore 3 /* mycomps */
        start local 3 // java.util.Enumeration mycomps
         5: .line 335
            aload 2 /* target */
            invokevirtual javax.naming.Reference.getAll:()Ljava/util/Enumeration;
            astore 4 /* comps */
        start local 4 // java.util.Enumeration comps
         6: .line 336
            goto 9
         7: .line 337
      StackMap locals: javax.naming.Reference java.util.Enumeration java.util.Enumeration
      StackMap stack:
            aload 3 /* mycomps */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast javax.naming.RefAddr
            aload 4 /* comps */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            invokevirtual javax.naming.RefAddr.equals:(Ljava/lang/Object;)Z
            ifne 9
         8: .line 338
            iconst_0
            ireturn
         9: .line 336
      StackMap locals:
      StackMap stack:
            aload 3 /* mycomps */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 7
        10: .line 339
            iconst_1
            ireturn
        end local 4 // java.util.Enumeration comps
        end local 3 // java.util.Enumeration mycomps
        end local 2 // javax.naming.Reference target
        11: .line 342
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object obj
        end local 0 // javax.naming.Reference this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Ljavax/naming/Reference;
            0   12     1      obj  Ljava/lang/Object;
            2   11     2   target  Ljavax/naming/Reference;
            5   11     3  mycomps  Ljava/util/Enumeration<Ljavax/naming/RefAddr;>;
            6   11     4    comps  Ljava/util/Enumeration<Ljavax/naming/RefAddr;>;
    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.Reference this
         0: .line 352
            aload 0 /* this */
            getfield javax.naming.Reference.className:Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            istore 1 /* hash */
        start local 1 // int hash
         1: .line 353
            aload 0 /* this */
            invokevirtual javax.naming.Reference.getAll:()Ljava/util/Enumeration;
            astore 2 /* e */
        start local 2 // java.util.Enumeration e
         2: goto 4
         3: .line 354
      StackMap locals: int java.util.Enumeration
      StackMap stack:
            iload 1 /* hash */
            aload 2 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast javax.naming.RefAddr
            invokevirtual javax.naming.RefAddr.hashCode:()I
            iadd
            istore 1 /* hash */
         4: .line 353
      StackMap locals:
      StackMap stack:
            aload 2 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 3
        end local 2 // java.util.Enumeration e
         5: .line 355
            iload 1 /* hash */
            ireturn
        end local 1 // int hash
        end local 0 // javax.naming.Reference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljavax/naming/Reference;
            1    6     1  hash  I
            2    5     2     e  Ljava/util/Enumeration<Ljavax/naming/RefAddr;>;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // javax.naming.Reference this
         0: .line 367
            new java.lang.StringBuilder
            dup
            new java.lang.StringBuilder
            dup
            ldc "Reference Class Name: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 368
            aload 0 /* this */
            getfield javax.naming.Reference.className:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         2: .line 367
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         3: .line 369
            aload 0 /* this */
            getfield javax.naming.Reference.addrs:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            istore 2 /* len */
        start local 2 // int len
         4: .line 370
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 8
         6: .line 371
      StackMap locals: java.lang.StringBuilder int int
      StackMap stack:
            aload 1 /* sb */
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual javax.naming.Reference.get:(I)Ljavax/naming/RefAddr;
            invokevirtual javax.naming.RefAddr.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 370
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            iload 2 /* len */
            if_icmplt 6
        end local 3 // int i
         9: .line 373
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // int len
        end local 1 // java.lang.StringBuilder sb
        end local 0 // javax.naming.Reference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Ljavax/naming/Reference;
            3   10     1    sb  Ljava/lang/StringBuilder;
            4   10     2   len  I
            5    9     3     i  I

  public java.lang.Object clone();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // javax.naming.Reference this
         0: .line 383
            new javax.naming.Reference
            dup
            aload 0 /* this */
            getfield javax.naming.Reference.className:Ljava/lang/String;
            aload 0 /* this */
            getfield javax.naming.Reference.classFactory:Ljava/lang/String;
            aload 0 /* this */
            getfield javax.naming.Reference.classFactoryLocation:Ljava/lang/String;
            invokespecial javax.naming.Reference.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
            astore 1 /* r */
        start local 1 // javax.naming.Reference r
         1: .line 384
            aload 0 /* this */
            invokevirtual javax.naming.Reference.getAll:()Ljava/util/Enumeration;
            astore 2 /* a */
        start local 2 // java.util.Enumeration a
         2: .line 385
            aload 1 /* r */
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            putfield javax.naming.Reference.addrs:Ljava/util/Vector;
         3: .line 387
            goto 5
         4: .line 388
      StackMap locals: javax.naming.Reference java.util.Enumeration
      StackMap stack:
            aload 1 /* r */
            getfield javax.naming.Reference.addrs:Ljava/util/Vector;
            aload 2 /* a */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast javax.naming.RefAddr
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
         5: .line 387
      StackMap locals:
      StackMap stack:
            aload 2 /* a */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 4
         6: .line 389
            aload 1 /* r */
            areturn
        end local 2 // java.util.Enumeration a
        end local 1 // javax.naming.Reference r
        end local 0 // javax.naming.Reference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljavax/naming/Reference;
            1    7     1     r  Ljavax/naming/Reference;
            2    7     2     a  Ljava/util/Enumeration<Ljavax/naming/RefAddr;>;
}
SourceFile: "Reference.java"