public class javax.sql.rowset.serial.SerialArray implements java.sql.Array, java.io.Serializable, java.lang.Cloneable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: javax.sql.rowset.serial.SerialArray
  super_class: java.lang.Object
{
  private java.lang.Object[] elements;
    descriptor: [Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE

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

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

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

  static final long serialVersionUID;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: -8466174297270688520

  public void <init>(java.sql.Array, java.util.Map<java.lang.String, java.lang.Class<?>>);
    descriptor: (Ljava/sql/Array;Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // javax.sql.rowset.serial.SerialArray this
        start local 1 // java.sql.Array array
        start local 2 // java.util.Map map
         0: .line 147
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 151
            aload 1 /* array */
            ifnull 2
            aload 2 /* map */
            ifnonnull 3
         2: .line 152
      StackMap locals: javax.sql.rowset.serial.SerialArray java.sql.Array java.util.Map
      StackMap stack:
            new java.sql.SQLException
            dup
            ldc "Cannot instantiate a SerialArray object with null parameters"
            invokespecial java.sql.SQLException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 156
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* array */
            invokeinterface java.sql.Array.getArray:()Ljava/lang/Object;
            checkcast java.lang.Object[]
            dup_x1
            putfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
            ifnonnull 5
         4: .line 157
            new java.sql.SQLException
            dup
            ldc "Invalid Array object. Calls to Array.getArray() return null value which cannot be serialized"
            invokespecial java.sql.SQLException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 161
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* array */
            aload 2 /* map */
            invokeinterface java.sql.Array.getArray:(Ljava/util/Map;)Ljava/lang/Object;
            checkcast java.lang.Object[]
            putfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
         6: .line 162
            aload 0 /* this */
            aload 1 /* array */
            invokeinterface java.sql.Array.getBaseType:()I
            putfield javax.sql.rowset.serial.SerialArray.baseType:I
         7: .line 163
            aload 0 /* this */
            aload 1 /* array */
            invokeinterface java.sql.Array.getBaseTypeName:()Ljava/lang/String;
            putfield javax.sql.rowset.serial.SerialArray.baseTypeName:Ljava/lang/String;
         8: .line 164
            aload 0 /* this */
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
            arraylength
            putfield javax.sql.rowset.serial.SerialArray.len:I
         9: .line 166
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.baseType:I
            lookupswitch { // 6
                   70: 34
                 2000: 40
                 2002: 10
                 2003: 16
                 2004: 22
                 2005: 28
              default: 45
          }
        10: .line 168
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        11: goto 14
        12: .line 169
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
            iload 3 /* i */
            new javax.sql.rowset.serial.SerialStruct
            dup
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
            iload 3 /* i */
            aaload
            checkcast java.sql.Struct
            aload 2 /* map */
            invokespecial javax.sql.rowset.serial.SerialStruct.<init>:(Ljava/sql/Struct;Ljava/util/Map;)V
            aastore
        13: .line 168
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 3 /* i */
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.len:I
            if_icmplt 12
        end local 3 // int i
        15: .line 171
            goto 45
        16: .line 174
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        17: goto 20
        18: .line 175
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
            iload 3 /* i */
            new javax.sql.rowset.serial.SerialArray
            dup
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
            iload 3 /* i */
            aaload
            checkcast java.sql.Array
            aload 2 /* map */
            invokespecial javax.sql.rowset.serial.SerialArray.<init>:(Ljava/sql/Array;Ljava/util/Map;)V
            aastore
        19: .line 174
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 3 /* i */
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.len:I
            if_icmplt 18
        end local 3 // int i
        21: .line 177
            goto 45
        22: .line 180
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        23: goto 26
        24: .line 181
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
            iload 3 /* i */
            new javax.sql.rowset.serial.SerialBlob
            dup
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
            iload 3 /* i */
            aaload
            checkcast java.sql.Blob
            invokespecial javax.sql.rowset.serial.SerialBlob.<init>:(Ljava/sql/Blob;)V
            aastore
        25: .line 180
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        26: iload 3 /* i */
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.len:I
            if_icmplt 24
        end local 3 // int i
        27: .line 183
            goto 45
        28: .line 186
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        29: goto 32
        30: .line 187
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
            iload 3 /* i */
            new javax.sql.rowset.serial.SerialClob
            dup
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
            iload 3 /* i */
            aaload
            checkcast java.sql.Clob
            invokespecial javax.sql.rowset.serial.SerialClob.<init>:(Ljava/sql/Clob;)V
            aastore
        31: .line 186
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        32: iload 3 /* i */
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.len:I
            if_icmplt 30
        end local 3 // int i
        33: .line 189
            goto 45
        34: .line 192
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        35: goto 38
        36: .line 193
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
            iload 3 /* i */
            new javax.sql.rowset.serial.SerialDatalink
            dup
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
            iload 3 /* i */
            aaload
            checkcast java.net.URL
            invokespecial javax.sql.rowset.serial.SerialDatalink.<init>:(Ljava/net/URL;)V
            aastore
        37: .line 192
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        38: iload 3 /* i */
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.len:I
            if_icmplt 36
        end local 3 // int i
        39: .line 195
            goto 45
        40: .line 198
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        41: goto 44
        42: .line 199
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
            iload 3 /* i */
            new javax.sql.rowset.serial.SerialJavaObject
            dup
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
            iload 3 /* i */
            aaload
            invokespecial javax.sql.rowset.serial.SerialJavaObject.<init>:(Ljava/lang/Object;)V
            aastore
        43: .line 198
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        44: iload 3 /* i */
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.len:I
            if_icmplt 42
        end local 3 // int i
        45: .line 202
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.Map map
        end local 1 // java.sql.Array array
        end local 0 // javax.sql.rowset.serial.SerialArray this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   46     0   this  Ljavax/sql/rowset/serial/SerialArray;
            0   46     1  array  Ljava/sql/Array;
            0   46     2    map  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Class<*>;>;
           11   15     3      i  I
           17   21     3      i  I
           23   27     3      i  I
           29   33     3      i  I
           35   39     3      i  I
           41   45     3      i  I
    Exceptions:
      throws javax.sql.rowset.serial.SerialException, java.sql.SQLException
    Signature: (Ljava/sql/Array;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Class<*>;>;)V
    MethodParameters:
       Name  Flags
      array  
      map    

  public void free();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.sql.rowset.serial.SerialArray this
         0: .line 214
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
            ifnull 3
         1: .line 215
            aload 0 /* this */
            aconst_null
            putfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
         2: .line 216
            aload 0 /* this */
            aconst_null
            putfield javax.sql.rowset.serial.SerialArray.baseTypeName:Ljava/lang/String;
         3: .line 218
      StackMap locals:
      StackMap stack:
            return
        end local 0 // javax.sql.rowset.serial.SerialArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavax/sql/rowset/serial/SerialArray;
    Exceptions:
      throws java.sql.SQLException

  public void <init>(java.sql.Array);
    descriptor: (Ljava/sql/Array;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // javax.sql.rowset.serial.SerialArray this
        start local 1 // java.sql.Array array
         0: .line 253
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 254
            aload 1 /* array */
            ifnonnull 3
         2: .line 255
            new java.sql.SQLException
            dup
            ldc "Cannot instantiate a SerialArray object with a null Array object"
            invokespecial java.sql.SQLException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 259
      StackMap locals: javax.sql.rowset.serial.SerialArray java.sql.Array
      StackMap stack:
            aload 0 /* this */
            aload 1 /* array */
            invokeinterface java.sql.Array.getArray:()Ljava/lang/Object;
            checkcast java.lang.Object[]
            dup_x1
            putfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
            ifnonnull 5
         4: .line 260
            new java.sql.SQLException
            dup
            ldc "Invalid Array object. Calls to Array.getArray() return null value which cannot be serialized"
            invokespecial java.sql.SQLException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 265
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* array */
            invokeinterface java.sql.Array.getBaseType:()I
            putfield javax.sql.rowset.serial.SerialArray.baseType:I
         6: .line 266
            aload 0 /* this */
            aload 1 /* array */
            invokeinterface java.sql.Array.getBaseTypeName:()Ljava/lang/String;
            putfield javax.sql.rowset.serial.SerialArray.baseTypeName:Ljava/lang/String;
         7: .line 267
            aload 0 /* this */
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
            arraylength
            putfield javax.sql.rowset.serial.SerialArray.len:I
         8: .line 269
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.baseType:I
            lookupswitch { // 4
                   70: 21
                 2000: 27
                 2004: 9
                 2005: 15
              default: 32
          }
         9: .line 272
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        10: goto 13
        11: .line 273
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
            iload 2 /* i */
            new javax.sql.rowset.serial.SerialBlob
            dup
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
            iload 2 /* i */
            aaload
            checkcast java.sql.Blob
            invokespecial javax.sql.rowset.serial.SerialBlob.<init>:(Ljava/sql/Blob;)V
            aastore
        12: .line 272
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 2 /* i */
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.len:I
            if_icmplt 11
        end local 2 // int i
        14: .line 275
            goto 32
        15: .line 278
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        16: goto 19
        17: .line 279
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
            iload 2 /* i */
            new javax.sql.rowset.serial.SerialClob
            dup
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
            iload 2 /* i */
            aaload
            checkcast java.sql.Clob
            invokespecial javax.sql.rowset.serial.SerialClob.<init>:(Ljava/sql/Clob;)V
            aastore
        18: .line 278
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 2 /* i */
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.len:I
            if_icmplt 17
        end local 2 // int i
        20: .line 281
            goto 32
        21: .line 284
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        22: goto 25
        23: .line 285
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
            iload 2 /* i */
            new javax.sql.rowset.serial.SerialDatalink
            dup
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
            iload 2 /* i */
            aaload
            checkcast java.net.URL
            invokespecial javax.sql.rowset.serial.SerialDatalink.<init>:(Ljava/net/URL;)V
            aastore
        24: .line 284
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 2 /* i */
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.len:I
            if_icmplt 23
        end local 2 // int i
        26: .line 287
            goto 32
        27: .line 290
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        28: goto 31
        29: .line 291
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
            iload 2 /* i */
            new javax.sql.rowset.serial.SerialJavaObject
            dup
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
            iload 2 /* i */
            aaload
            invokespecial javax.sql.rowset.serial.SerialJavaObject.<init>:(Ljava/lang/Object;)V
            aastore
        30: .line 290
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        31: iload 2 /* i */
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.len:I
            if_icmplt 29
        end local 2 // int i
        32: .line 298
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.sql.Array array
        end local 0 // javax.sql.rowset.serial.SerialArray this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   33     0   this  Ljavax/sql/rowset/serial/SerialArray;
            0   33     1  array  Ljava/sql/Array;
           10   14     2      i  I
           16   20     2      i  I
           22   26     2      i  I
           28   32     2      i  I
    Exceptions:
      throws javax.sql.rowset.serial.SerialException, java.sql.SQLException
    MethodParameters:
       Name  Flags
      array  

  public java.lang.Object getArray();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // javax.sql.rowset.serial.SerialArray this
         0: .line 310
            aload 0 /* this */
            invokevirtual javax.sql.rowset.serial.SerialArray.isValid:()V
         1: .line 311
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.len:I
            anewarray java.lang.Object
            astore 1 /* dst */
        start local 1 // java.lang.Object dst
         2: .line 312
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
            iconst_0
            aload 1 /* dst */
            iconst_0
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.len:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 313
            aload 1 /* dst */
            areturn
        end local 1 // java.lang.Object dst
        end local 0 // javax.sql.rowset.serial.SerialArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavax/sql/rowset/serial/SerialArray;
            2    4     1   dst  Ljava/lang/Object;
    Exceptions:
      throws javax.sql.rowset.serial.SerialException

  public  getArray(java.util.Map<java.lang.String, java.lang.Class<?>>);
    descriptor: (Ljava/util/Map;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // javax.sql.rowset.serial.SerialArray this
        start local 1 // java.util.Map map
         0: .line 340
            aload 0 /* this */
            invokevirtual javax.sql.rowset.serial.SerialArray.isValid:()V
         1: .line 341
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.len:I
            anewarray java.lang.Object
            astore 2 /* dst */
        start local 2 // java.lang.Object[] dst
         2: .line 342
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
            iconst_0
            aload 2 /* dst */
            iconst_0
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.len:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 343
            aload 2 /* dst */
            areturn
        end local 2 // java.lang.Object[] dst
        end local 1 // java.util.Map map
        end local 0 // javax.sql.rowset.serial.SerialArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavax/sql/rowset/serial/SerialArray;
            0    4     1   map  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Class<*>;>;
            2    4     2   dst  [Ljava/lang/Object;
    Exceptions:
      throws javax.sql.rowset.serial.SerialException
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Class<*>;>;)Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      map   

  public java.lang.Object getArray(long, int);
    descriptor: (JI)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // javax.sql.rowset.serial.SerialArray this
        start local 1 // long index
        start local 3 // int count
         0: .line 363
            aload 0 /* this */
            invokevirtual javax.sql.rowset.serial.SerialArray.isValid:()V
         1: .line 364
            iload 3 /* count */
            anewarray java.lang.Object
            astore 4 /* dst */
        start local 4 // java.lang.Object dst
         2: .line 365
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
            lload 1 /* index */
            l2i
            aload 4 /* dst */
            iconst_0
            iload 3 /* count */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 366
            aload 4 /* dst */
            areturn
        end local 4 // java.lang.Object dst
        end local 3 // int count
        end local 1 // long index
        end local 0 // javax.sql.rowset.serial.SerialArray this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Ljavax/sql/rowset/serial/SerialArray;
            0    4     1  index  J
            0    4     3  count  I
            2    4     4    dst  Ljava/lang/Object;
    Exceptions:
      throws javax.sql.rowset.serial.SerialException
    MethodParameters:
       Name  Flags
      index  
      count  

  public  getArray(long, int, java.util.Map<java.lang.String, java.lang.Class<?>>);
    descriptor: (JILjava/util/Map;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // javax.sql.rowset.serial.SerialArray this
        start local 1 // long index
        start local 3 // int count
        start local 4 // java.util.Map map
         0: .line 401
            aload 0 /* this */
            invokevirtual javax.sql.rowset.serial.SerialArray.isValid:()V
         1: .line 402
            iload 3 /* count */
            anewarray java.lang.Object
            astore 5 /* dst */
        start local 5 // java.lang.Object dst
         2: .line 403
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
            lload 1 /* index */
            l2i
            aload 5 /* dst */
            iconst_0
            iload 3 /* count */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 404
            aload 5 /* dst */
            areturn
        end local 5 // java.lang.Object dst
        end local 4 // java.util.Map map
        end local 3 // int count
        end local 1 // long index
        end local 0 // javax.sql.rowset.serial.SerialArray this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Ljavax/sql/rowset/serial/SerialArray;
            0    4     1  index  J
            0    4     3  count  I
            0    4     4    map  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Class<*>;>;
            2    4     5    dst  Ljava/lang/Object;
    Exceptions:
      throws javax.sql.rowset.serial.SerialException
    Signature: (JILjava/util/Map<Ljava/lang/String;Ljava/lang/Class<*>;>;)Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      index  
      count  
      map    

  public int getBaseType();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.sql.rowset.serial.SerialArray this
         0: .line 418
            aload 0 /* this */
            invokevirtual javax.sql.rowset.serial.SerialArray.isValid:()V
         1: .line 419
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.baseType:I
            ireturn
        end local 0 // javax.sql.rowset.serial.SerialArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/sql/rowset/serial/SerialArray;
    Exceptions:
      throws javax.sql.rowset.serial.SerialException

  public java.lang.String getBaseTypeName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.sql.rowset.serial.SerialArray this
         0: .line 432
            aload 0 /* this */
            invokevirtual javax.sql.rowset.serial.SerialArray.isValid:()V
         1: .line 433
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.baseTypeName:Ljava/lang/String;
            areturn
        end local 0 // javax.sql.rowset.serial.SerialArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/sql/rowset/serial/SerialArray;
    Exceptions:
      throws javax.sql.rowset.serial.SerialException

  public java.sql.ResultSet getResultSet(long, int);
    descriptor: (JI)Ljava/sql/ResultSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // javax.sql.rowset.serial.SerialArray this
        start local 1 // long index
        start local 3 // int count
         0: .line 456
            new javax.sql.rowset.serial.SerialException
            dup
            invokespecial javax.sql.rowset.serial.SerialException.<init>:()V
            astore 4 /* se */
        start local 4 // javax.sql.rowset.serial.SerialException se
         1: .line 457
            aload 4 /* se */
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            invokevirtual javax.sql.rowset.serial.SerialException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
         2: .line 458
            aload 4 /* se */
            athrow
        end local 4 // javax.sql.rowset.serial.SerialException se
        end local 3 // int count
        end local 1 // long index
        end local 0 // javax.sql.rowset.serial.SerialArray this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljavax/sql/rowset/serial/SerialArray;
            0    3     1  index  J
            0    3     3  count  I
            1    3     4     se  Ljavax/sql/rowset/serial/SerialException;
    Exceptions:
      throws javax.sql.rowset.serial.SerialException
    MethodParameters:
       Name  Flags
      index  
      count  

  public java.sql.ResultSet getResultSet(java.util.Map<java.lang.String, java.lang.Class<?>>);
    descriptor: (Ljava/util/Map;)Ljava/sql/ResultSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // javax.sql.rowset.serial.SerialArray this
        start local 1 // java.util.Map map
         0: .line 487
            new javax.sql.rowset.serial.SerialException
            dup
            invokespecial javax.sql.rowset.serial.SerialException.<init>:()V
            astore 2 /* se */
        start local 2 // javax.sql.rowset.serial.SerialException se
         1: .line 488
            aload 2 /* se */
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            invokevirtual javax.sql.rowset.serial.SerialException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
         2: .line 489
            aload 2 /* se */
            athrow
        end local 2 // javax.sql.rowset.serial.SerialException se
        end local 1 // java.util.Map map
        end local 0 // javax.sql.rowset.serial.SerialArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/sql/rowset/serial/SerialArray;
            0    3     1   map  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Class<*>;>;
            1    3     2    se  Ljavax/sql/rowset/serial/SerialException;
    Exceptions:
      throws javax.sql.rowset.serial.SerialException
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Class<*>;>;)Ljava/sql/ResultSet;
    MethodParameters:
      Name  Flags
      map   

  public java.sql.ResultSet getResultSet();
    descriptor: ()Ljava/sql/ResultSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // javax.sql.rowset.serial.SerialArray this
         0: .line 506
            new javax.sql.rowset.serial.SerialException
            dup
            invokespecial javax.sql.rowset.serial.SerialException.<init>:()V
            astore 1 /* se */
        start local 1 // javax.sql.rowset.serial.SerialException se
         1: .line 507
            aload 1 /* se */
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            invokevirtual javax.sql.rowset.serial.SerialException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
         2: .line 508
            aload 1 /* se */
            athrow
        end local 1 // javax.sql.rowset.serial.SerialException se
        end local 0 // javax.sql.rowset.serial.SerialArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/sql/rowset/serial/SerialArray;
            1    3     1    se  Ljavax/sql/rowset/serial/SerialException;
    Exceptions:
      throws javax.sql.rowset.serial.SerialException

  public java.sql.ResultSet getResultSet(long, int, java.util.Map<java.lang.String, java.lang.Class<?>>);
    descriptor: (JILjava/util/Map;)Ljava/sql/ResultSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // javax.sql.rowset.serial.SerialArray this
        start local 1 // long index
        start local 3 // int count
        start local 4 // java.util.Map map
         0: .line 545
            new javax.sql.rowset.serial.SerialException
            dup
            invokespecial javax.sql.rowset.serial.SerialException.<init>:()V
            astore 5 /* se */
        start local 5 // javax.sql.rowset.serial.SerialException se
         1: .line 546
            aload 5 /* se */
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            invokevirtual javax.sql.rowset.serial.SerialException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
         2: .line 547
            aload 5 /* se */
            athrow
        end local 5 // javax.sql.rowset.serial.SerialException se
        end local 4 // java.util.Map map
        end local 3 // int count
        end local 1 // long index
        end local 0 // javax.sql.rowset.serial.SerialArray this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljavax/sql/rowset/serial/SerialArray;
            0    3     1  index  J
            0    3     3  count  I
            0    3     4    map  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Class<*>;>;
            1    3     5     se  Ljavax/sql/rowset/serial/SerialException;
    Exceptions:
      throws javax.sql.rowset.serial.SerialException
    Signature: (JILjava/util/Map<Ljava/lang/String;Ljava/lang/Class<*>;>;)Ljava/sql/ResultSet;
    MethodParameters:
       Name  Flags
      index  
      count  
      map    

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // javax.sql.rowset.serial.SerialArray this
        start local 1 // java.lang.Object obj
         0: .line 563
            aload 0 /* this */
            aload 1 /* obj */
            if_acmpne 2
         1: .line 564
            iconst_1
            ireturn
         2: .line 567
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof javax.sql.rowset.serial.SerialArray
            ifeq 9
         3: .line 568
            aload 1 /* obj */
            checkcast javax.sql.rowset.serial.SerialArray
            astore 2 /* sa */
        start local 2 // javax.sql.rowset.serial.SerialArray sa
         4: .line 569
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.baseType:I
            aload 2 /* sa */
            getfield javax.sql.rowset.serial.SerialArray.baseType:I
            if_icmpne 8
         5: .line 570
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.baseTypeName:Ljava/lang/String;
            aload 2 /* sa */
            getfield javax.sql.rowset.serial.SerialArray.baseTypeName:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         6: .line 571
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
            aload 2 /* sa */
            getfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
            invokestatic java.util.Arrays.equals:([Ljava/lang/Object;[Ljava/lang/Object;)Z
            ifeq 8
         7: .line 569
            iconst_1
            ireturn
      StackMap locals: javax.sql.rowset.serial.SerialArray
      StackMap stack:
         8: iconst_0
            ireturn
        end local 2 // javax.sql.rowset.serial.SerialArray sa
         9: .line 573
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object obj
        end local 0 // javax.sql.rowset.serial.SerialArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Ljavax/sql/rowset/serial/SerialArray;
            0   10     1   obj  Ljava/lang/Object;
            4    9     2    sa  Ljavax/sql/rowset/serial/SerialArray;
    MethodParameters:
      Name  Flags
      obj   

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.sql.rowset.serial.SerialArray this
         0: .line 584
            bipush 31
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
            invokestatic java.util.Arrays.hashCode:([Ljava/lang/Object;)I
            iadd
            bipush 31
            imul
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.len:I
            iadd
            bipush 31
            imul
         1: .line 585
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.baseType:I
         2: .line 584
            iadd
         3: .line 585
            bipush 31
         4: .line 584
            imul
         5: .line 585
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.baseTypeName:Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
         6: .line 584
            iadd
            ireturn
        end local 0 // javax.sql.rowset.serial.SerialArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljavax/sql/rowset/serial/SerialArray;

  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.sql.rowset.serial.SerialArray this
         0: .line 597
            aload 0 /* this */
            invokespecial java.lang.Object.clone:()Ljava/lang/Object;
            checkcast javax.sql.rowset.serial.SerialArray
            astore 1 /* sa */
        start local 1 // javax.sql.rowset.serial.SerialArray sa
         1: .line 598
            aload 1 /* sa */
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
            ifnull 2
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.len:I
            invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
            goto 3
      StackMap locals: javax.sql.rowset.serial.SerialArray javax.sql.rowset.serial.SerialArray
      StackMap stack: javax.sql.rowset.serial.SerialArray
         2: aconst_null
      StackMap locals: javax.sql.rowset.serial.SerialArray javax.sql.rowset.serial.SerialArray
      StackMap stack: javax.sql.rowset.serial.SerialArray java.lang.Object[]
         3: putfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
         4: .line 599
            aload 1 /* sa */
         5: areturn
        end local 1 // javax.sql.rowset.serial.SerialArray sa
         6: .line 600
      StackMap locals: javax.sql.rowset.serial.SerialArray
      StackMap stack: java.lang.CloneNotSupportedException
            pop
         7: .line 602
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
        end local 0 // javax.sql.rowset.serial.SerialArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljavax/sql/rowset/serial/SerialArray;
            1    6     1    sa  Ljavax/sql/rowset/serial/SerialArray;
      Exception table:
        from    to  target  type
           0     5       6  Class java.lang.CloneNotSupportedException

  private void readObject(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // javax.sql.rowset.serial.SerialArray this
        start local 1 // java.io.ObjectInputStream s
         0: .line 614
            aload 1 /* s */
            invokevirtual java.io.ObjectInputStream.readFields:()Ljava/io/ObjectInputStream$GetField;
            astore 2 /* fields */
        start local 2 // java.io.ObjectInputStream$GetField fields
         1: .line 615
            aload 2 /* fields */
            ldc "elements"
            aconst_null
            invokevirtual java.io.ObjectInputStream$GetField.get:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Object[]
            astore 3 /* tmp */
        start local 3 // java.lang.Object[] tmp
         2: .line 616
            aload 3 /* tmp */
            ifnonnull 4
         3: .line 617
            new java.io.InvalidObjectException
            dup
            ldc "elements is null and should not be!"
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 618
      StackMap locals: java.io.ObjectInputStream$GetField java.lang.Object[]
      StackMap stack:
            aload 0 /* this */
            aload 3 /* tmp */
            invokevirtual java.lang.Object[].clone:()Ljava/lang/Object;
            checkcast java.lang.Object[]
            putfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
         5: .line 619
            aload 0 /* this */
            aload 2 /* fields */
            ldc "len"
            iconst_0
            invokevirtual java.io.ObjectInputStream$GetField.get:(Ljava/lang/String;I)I
            putfield javax.sql.rowset.serial.SerialArray.len:I
         6: .line 620
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
            arraylength
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.len:I
            if_icmpeq 8
         7: .line 621
            new java.io.InvalidObjectException
            dup
            ldc "elements is not the expected size"
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 623
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* fields */
            ldc "baseType"
            iconst_0
            invokevirtual java.io.ObjectInputStream$GetField.get:(Ljava/lang/String;I)I
            putfield javax.sql.rowset.serial.SerialArray.baseType:I
         9: .line 624
            aload 0 /* this */
            aload 2 /* fields */
            ldc "baseTypeName"
            aconst_null
            invokevirtual java.io.ObjectInputStream$GetField.get:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            putfield javax.sql.rowset.serial.SerialArray.baseTypeName:Ljava/lang/String;
        10: .line 625
            return
        end local 3 // java.lang.Object[] tmp
        end local 2 // java.io.ObjectInputStream$GetField fields
        end local 1 // java.io.ObjectInputStream s
        end local 0 // javax.sql.rowset.serial.SerialArray this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Ljavax/sql/rowset/serial/SerialArray;
            0   11     1       s  Ljava/io/ObjectInputStream;
            1   11     2  fields  Ljava/io/ObjectInputStream$GetField;
            2   11     3     tmp  [Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      s     

  private void writeObject(java.io.ObjectOutputStream);
    descriptor: (Ljava/io/ObjectOutputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // javax.sql.rowset.serial.SerialArray this
        start local 1 // java.io.ObjectOutputStream s
         0: .line 634
            aload 1 /* s */
            invokevirtual java.io.ObjectOutputStream.putFields:()Ljava/io/ObjectOutputStream$PutField;
            astore 2 /* fields */
        start local 2 // java.io.ObjectOutputStream$PutField fields
         1: .line 635
            aload 2 /* fields */
            ldc "elements"
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
            invokevirtual java.io.ObjectOutputStream$PutField.put:(Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 636
            aload 2 /* fields */
            ldc "len"
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.len:I
            invokevirtual java.io.ObjectOutputStream$PutField.put:(Ljava/lang/String;I)V
         3: .line 637
            aload 2 /* fields */
            ldc "baseType"
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.baseType:I
            invokevirtual java.io.ObjectOutputStream$PutField.put:(Ljava/lang/String;I)V
         4: .line 638
            aload 2 /* fields */
            ldc "baseTypeName"
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.baseTypeName:Ljava/lang/String;
            invokevirtual java.io.ObjectOutputStream$PutField.put:(Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 639
            aload 1 /* s */
            invokevirtual java.io.ObjectOutputStream.writeFields:()V
         6: .line 640
            return
        end local 2 // java.io.ObjectOutputStream$PutField fields
        end local 1 // java.io.ObjectOutputStream s
        end local 0 // javax.sql.rowset.serial.SerialArray this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Ljavax/sql/rowset/serial/SerialArray;
            0    7     1       s  Ljava/io/ObjectOutputStream;
            1    7     2  fields  Ljava/io/ObjectOutputStream$PutField;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      s     

  private void isValid();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // javax.sql.rowset.serial.SerialArray this
         0: .line 649
            aload 0 /* this */
            getfield javax.sql.rowset.serial.SerialArray.elements:[Ljava/lang/Object;
            ifnonnull 2
         1: .line 650
            new javax.sql.rowset.serial.SerialException
            dup
            ldc "Error: You cannot call a method on a SerialArray instance once free() has been called."
            invokespecial javax.sql.rowset.serial.SerialException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 653
      StackMap locals:
      StackMap stack:
            return
        end local 0 // javax.sql.rowset.serial.SerialArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/sql/rowset/serial/SerialArray;
    Exceptions:
      throws javax.sql.rowset.serial.SerialException
}
SourceFile: "SerialArray.java"
InnerClasses:
  public abstract GetField = java.io.ObjectInputStream$GetField of java.io.ObjectInputStream
  public abstract PutField = java.io.ObjectOutputStream$PutField of java.io.ObjectOutputStream