public class com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe extends com.caucho.hessian.io.FieldDeserializer2Factory
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe
  super_class: com.caucho.hessian.io.FieldDeserializer2Factory
{
  private static final java.util.logging.Logger log;
    descriptor: Ljava/util/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static boolean _isEnabled;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static sun.misc.Unsafe _unsafe;
    descriptor: Lsun/misc/Unsafe;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=7, args_size=0
         0: .line 64
            ldc Lcom/caucho/hessian/io/JavaDeserializer;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
         1: .line 63
            putstatic com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe.log:Ljava/util/logging/Logger;
         2: .line 542
            iconst_0
            istore 0 /* isEnabled */
        start local 0 // boolean isEnabled
         3: .line 545
            ldc "sun.misc.Unsafe"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 1 /* unsafe */
        start local 1 // java.lang.Class unsafe
         4: .line 546
            aconst_null
            astore 2 /* theUnsafe */
        start local 2 // java.lang.reflect.Field theUnsafe
         5: .line 547
            aload 1 /* unsafe */
            invokevirtual java.lang.Class.getDeclaredFields:()[Ljava/lang/reflect/Field;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 10
      StackMap locals: int java.lang.Class java.lang.reflect.Field top int int java.lang.reflect.Field[]
      StackMap stack:
         6: aload 6
            iload 4
            aaload
            astore 3 /* field */
        start local 3 // java.lang.reflect.Field field
         7: .line 548
            aload 3 /* field */
            invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
            ldc "theUnsafe"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 549
            aload 3 /* field */
            astore 2 /* theUnsafe */
        end local 3 // java.lang.reflect.Field field
         9: .line 547
      StackMap locals:
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        10: iload 4
            iload 5
            if_icmplt 6
        11: .line 552
            aload 2 /* theUnsafe */
            ifnull 14
        12: .line 553
            aload 2 /* theUnsafe */
            iconst_1
            invokevirtual java.lang.reflect.Field.setAccessible:(Z)V
        13: .line 554
            aload 2 /* theUnsafe */
            aconst_null
            invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.misc.Unsafe
            putstatic com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe._unsafe:Lsun/misc/Unsafe;
        14: .line 557
      StackMap locals: int java.lang.Class java.lang.reflect.Field
      StackMap stack:
            getstatic com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe._unsafe:Lsun/misc/Unsafe;
            ifnull 15
            iconst_1
            goto 16
      StackMap locals:
      StackMap stack:
        15: iconst_0
      StackMap locals:
      StackMap stack: int
        16: istore 0 /* isEnabled */
        17: .line 559
            ldc "com.caucho.hessian.unsafe"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* unsafeProp */
        start local 3 // java.lang.String unsafeProp
        18: .line 561
            ldc "false"
            aload 3 /* unsafeProp */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 23
        19: .line 562
            iconst_0
            istore 0 /* isEnabled */
        end local 3 // java.lang.String unsafeProp
        end local 2 // java.lang.reflect.Field theUnsafe
        end local 1 // java.lang.Class unsafe
        20: .line 563
            goto 23
      StackMap locals: int
      StackMap stack: java.lang.Throwable
        21: astore 1 /* e */
        start local 1 // java.lang.Throwable e
        22: .line 564
            getstatic com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe.log:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            aload 1 /* e */
            invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
            aload 1 /* e */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 1 // java.lang.Throwable e
        23: .line 567
      StackMap locals:
      StackMap stack:
            iload 0 /* isEnabled */
            putstatic com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe._isEnabled:Z
        end local 0 // boolean isEnabled
        24: .line 568
            return
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            3   24     0   isEnabled  Z
            4   20     1      unsafe  Ljava/lang/Class<*>;
            5   20     2   theUnsafe  Ljava/lang/reflect/Field;
            7    9     3       field  Ljava/lang/reflect/Field;
           18   20     3  unsafeProp  Ljava/lang/String;
           22   23     1           e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3    20      21  Class java.lang.Throwable

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe this
         0: .line 62
            aload 0 /* this */
            invokespecial com.caucho.hessian.io.FieldDeserializer2Factory.<init>:()V
            return
        end local 0 // com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/caucho/hessian/io/FieldDeserializer2FactoryUnsafe;

  public com.caucho.hessian.io.FieldDeserializer2 create(java.lang.reflect.Field);
    descriptor: (Ljava/lang/reflect/Field;)Lcom/caucho/hessian/io/FieldDeserializer2;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe this
        start local 1 // java.lang.reflect.Field field
         0: .line 76
            aload 1 /* field */
            invokevirtual java.lang.reflect.Field.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isTransient:(I)Z
            ifne 2
         1: .line 77
            aload 1 /* field */
            invokevirtual java.lang.reflect.Field.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
            ifeq 3
         2: .line 78
      StackMap locals:
      StackMap stack:
            getstatic com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$NullFieldDeserializer.DESER:Lcom/caucho/hessian/io/FieldDeserializer2FactoryUnsafe$NullFieldDeserializer;
            areturn
         3: .line 90
      StackMap locals:
      StackMap stack:
            aload 1 /* field */
            invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
            astore 2 /* type */
        start local 2 // java.lang.Class type
         4: .line 93
            ldc Ljava/lang/String;
            aload 2 /* type */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 7
         5: .line 94
            new com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$StringFieldDeserializer
            dup
            aload 1 /* field */
            invokespecial com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$StringFieldDeserializer.<init>:(Ljava/lang/reflect/Field;)V
            astore 3 /* deser */
        start local 3 // com.caucho.hessian.io.FieldDeserializer2 deser
         6: .line 95
            goto 41
        end local 3 // com.caucho.hessian.io.FieldDeserializer2 deser
         7: .line 96
      StackMap locals: java.lang.Class
      StackMap stack:
            getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
            aload 2 /* type */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 10
         8: .line 97
            new com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$ByteFieldDeserializer
            dup
            aload 1 /* field */
            invokespecial com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$ByteFieldDeserializer.<init>:(Ljava/lang/reflect/Field;)V
            astore 3 /* deser */
        start local 3 // com.caucho.hessian.io.FieldDeserializer2 deser
         9: .line 98
            goto 41
        end local 3 // com.caucho.hessian.io.FieldDeserializer2 deser
        10: .line 99
      StackMap locals:
      StackMap stack:
            getstatic java.lang.Character.TYPE:Ljava/lang/Class;
            aload 2 /* type */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 13
        11: .line 100
            new com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$CharFieldDeserializer
            dup
            aload 1 /* field */
            invokespecial com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$CharFieldDeserializer.<init>:(Ljava/lang/reflect/Field;)V
            astore 3 /* deser */
        start local 3 // com.caucho.hessian.io.FieldDeserializer2 deser
        12: .line 101
            goto 41
        end local 3 // com.caucho.hessian.io.FieldDeserializer2 deser
        13: .line 102
      StackMap locals:
      StackMap stack:
            getstatic java.lang.Short.TYPE:Ljava/lang/Class;
            aload 2 /* type */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 16
        14: .line 103
            new com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$ShortFieldDeserializer
            dup
            aload 1 /* field */
            invokespecial com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$ShortFieldDeserializer.<init>:(Ljava/lang/reflect/Field;)V
            astore 3 /* deser */
        start local 3 // com.caucho.hessian.io.FieldDeserializer2 deser
        15: .line 104
            goto 41
        end local 3 // com.caucho.hessian.io.FieldDeserializer2 deser
        16: .line 105
      StackMap locals:
      StackMap stack:
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aload 2 /* type */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 19
        17: .line 106
            new com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$IntFieldDeserializer
            dup
            aload 1 /* field */
            invokespecial com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$IntFieldDeserializer.<init>:(Ljava/lang/reflect/Field;)V
            astore 3 /* deser */
        start local 3 // com.caucho.hessian.io.FieldDeserializer2 deser
        18: .line 107
            goto 41
        end local 3 // com.caucho.hessian.io.FieldDeserializer2 deser
        19: .line 108
      StackMap locals:
      StackMap stack:
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            aload 2 /* type */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 22
        20: .line 109
            new com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$LongFieldDeserializer
            dup
            aload 1 /* field */
            invokespecial com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$LongFieldDeserializer.<init>:(Ljava/lang/reflect/Field;)V
            astore 3 /* deser */
        start local 3 // com.caucho.hessian.io.FieldDeserializer2 deser
        21: .line 110
            goto 41
        end local 3 // com.caucho.hessian.io.FieldDeserializer2 deser
        22: .line 111
      StackMap locals:
      StackMap stack:
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
            aload 2 /* type */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 25
        23: .line 112
            new com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$FloatFieldDeserializer
            dup
            aload 1 /* field */
            invokespecial com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$FloatFieldDeserializer.<init>:(Ljava/lang/reflect/Field;)V
            astore 3 /* deser */
        start local 3 // com.caucho.hessian.io.FieldDeserializer2 deser
        24: .line 113
            goto 41
        end local 3 // com.caucho.hessian.io.FieldDeserializer2 deser
        25: .line 114
      StackMap locals:
      StackMap stack:
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            aload 2 /* type */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 28
        26: .line 115
            new com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$DoubleFieldDeserializer
            dup
            aload 1 /* field */
            invokespecial com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$DoubleFieldDeserializer.<init>:(Ljava/lang/reflect/Field;)V
            astore 3 /* deser */
        start local 3 // com.caucho.hessian.io.FieldDeserializer2 deser
        27: .line 116
            goto 41
        end local 3 // com.caucho.hessian.io.FieldDeserializer2 deser
        28: .line 117
      StackMap locals:
      StackMap stack:
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            aload 2 /* type */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 31
        29: .line 118
            new com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$BooleanFieldDeserializer
            dup
            aload 1 /* field */
            invokespecial com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$BooleanFieldDeserializer.<init>:(Ljava/lang/reflect/Field;)V
            astore 3 /* deser */
        start local 3 // com.caucho.hessian.io.FieldDeserializer2 deser
        30: .line 119
            goto 41
        end local 3 // com.caucho.hessian.io.FieldDeserializer2 deser
        31: .line 120
      StackMap locals:
      StackMap stack:
            ldc Ljava/sql/Date;
            aload 2 /* type */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 34
        32: .line 121
            new com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$SqlDateFieldDeserializer
            dup
            aload 1 /* field */
            invokespecial com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$SqlDateFieldDeserializer.<init>:(Ljava/lang/reflect/Field;)V
            astore 3 /* deser */
        start local 3 // com.caucho.hessian.io.FieldDeserializer2 deser
        33: .line 122
            goto 41
        end local 3 // com.caucho.hessian.io.FieldDeserializer2 deser
        34: .line 123
      StackMap locals:
      StackMap stack:
            ldc Ljava/sql/Timestamp;
            aload 2 /* type */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 37
        35: .line 124
            new com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$SqlTimestampFieldDeserializer
            dup
            aload 1 /* field */
            invokespecial com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$SqlTimestampFieldDeserializer.<init>:(Ljava/lang/reflect/Field;)V
            astore 3 /* deser */
        start local 3 // com.caucho.hessian.io.FieldDeserializer2 deser
        36: .line 125
            goto 41
        end local 3 // com.caucho.hessian.io.FieldDeserializer2 deser
        37: .line 126
      StackMap locals:
      StackMap stack:
            ldc Ljava/sql/Time;
            aload 2 /* type */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 40
        38: .line 127
            new com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$SqlTimeFieldDeserializer
            dup
            aload 1 /* field */
            invokespecial com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$SqlTimeFieldDeserializer.<init>:(Ljava/lang/reflect/Field;)V
            astore 3 /* deser */
        start local 3 // com.caucho.hessian.io.FieldDeserializer2 deser
        39: .line 128
            goto 41
        end local 3 // com.caucho.hessian.io.FieldDeserializer2 deser
        40: .line 130
      StackMap locals:
      StackMap stack:
            new com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$ObjectFieldDeserializer
            dup
            aload 1 /* field */
            invokespecial com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$ObjectFieldDeserializer.<init>:(Ljava/lang/reflect/Field;)V
            astore 3 /* deser */
        start local 3 // com.caucho.hessian.io.FieldDeserializer2 deser
        41: .line 133
      StackMap locals: com.caucho.hessian.io.FieldDeserializer2
      StackMap stack:
            aload 3 /* deser */
            areturn
        end local 3 // com.caucho.hessian.io.FieldDeserializer2 deser
        end local 2 // java.lang.Class type
        end local 1 // java.lang.reflect.Field field
        end local 0 // com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   42     0   this  Lcom/caucho/hessian/io/FieldDeserializer2FactoryUnsafe;
            0   42     1  field  Ljava/lang/reflect/Field;
            4   42     2   type  Ljava/lang/Class<*>;
            6    7     3  deser  Lcom/caucho/hessian/io/FieldDeserializer2;
            9   10     3  deser  Lcom/caucho/hessian/io/FieldDeserializer2;
           12   13     3  deser  Lcom/caucho/hessian/io/FieldDeserializer2;
           15   16     3  deser  Lcom/caucho/hessian/io/FieldDeserializer2;
           18   19     3  deser  Lcom/caucho/hessian/io/FieldDeserializer2;
           21   22     3  deser  Lcom/caucho/hessian/io/FieldDeserializer2;
           24   25     3  deser  Lcom/caucho/hessian/io/FieldDeserializer2;
           27   28     3  deser  Lcom/caucho/hessian/io/FieldDeserializer2;
           30   31     3  deser  Lcom/caucho/hessian/io/FieldDeserializer2;
           33   34     3  deser  Lcom/caucho/hessian/io/FieldDeserializer2;
           36   37     3  deser  Lcom/caucho/hessian/io/FieldDeserializer2;
           39   40     3  deser  Lcom/caucho/hessian/io/FieldDeserializer2;
           41   42     3  deser  Lcom/caucho/hessian/io/FieldDeserializer2;
    MethodParameters:
       Name  Flags
      field  

  static void logDeserializeError(java.lang.reflect.Field, java.lang.Object, java.lang.Object, java.lang.Throwable);
    descriptor: (Ljava/lang/reflect/Field;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Throwable;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // java.lang.reflect.Field field
        start local 1 // java.lang.Object obj
        start local 2 // java.lang.Object value
        start local 3 // java.lang.Throwable e
         0: .line 526
            new java.lang.StringBuilder
            dup
            aload 0 /* field */
            invokevirtual java.lang.reflect.Field.getDeclaringClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 527
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* field */
            invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 526
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* fieldName */
        start local 4 // java.lang.String fieldName
         3: .line 529
            aload 3 /* e */
            instanceof com.caucho.hessian.io.HessianFieldException
            ifeq 5
         4: .line 530
            aload 3 /* e */
            checkcast com.caucho.hessian.io.HessianFieldException
            athrow
         5: .line 531
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* e */
            instanceof java.io.IOException
            ifeq 7
         6: .line 532
            new com.caucho.hessian.io.HessianFieldException
            dup
            new java.lang.StringBuilder
            dup
            aload 4 /* fieldName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* e */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* e */
            invokespecial com.caucho.hessian.io.HessianFieldException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
         7: .line 534
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            ifnull 11
         8: .line 535
            new com.caucho.hessian.io.HessianFieldException
            dup
            new java.lang.StringBuilder
            dup
            aload 4 /* fieldName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* value */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 536
            ldc " cannot be assigned to '"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* field */
            invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* e */
        10: .line 535
            invokespecial com.caucho.hessian.io.HessianFieldException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        11: .line 538
      StackMap locals:
      StackMap stack:
            new com.caucho.hessian.io.HessianFieldException
            dup
            new java.lang.StringBuilder
            dup
            aload 4 /* fieldName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* field */
            invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " cannot be assigned from null"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* e */
            invokespecial com.caucho.hessian.io.HessianFieldException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.String fieldName
        end local 3 // java.lang.Throwable e
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Object obj
        end local 0 // java.lang.reflect.Field field
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0      field  Ljava/lang/reflect/Field;
            0   12     1        obj  Ljava/lang/Object;
            0   12     2      value  Ljava/lang/Object;
            0   12     3          e  Ljava/lang/Throwable;
            3   12     4  fieldName  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      field  
      obj    
      value  
      e      
}
SourceFile: "FieldDeserializer2FactoryUnsafe.java"
NestMembers:
  com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$BooleanFieldDeserializer  com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$ByteFieldDeserializer  com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$CharFieldDeserializer  com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$DoubleFieldDeserializer  com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$FloatFieldDeserializer  com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$IntFieldDeserializer  com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$LongFieldDeserializer  com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$NullFieldDeserializer  com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$ObjectFieldDeserializer  com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$ShortFieldDeserializer  com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$SqlDateFieldDeserializer  com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$SqlTimeFieldDeserializer  com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$SqlTimestampFieldDeserializer  com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$StringFieldDeserializer
InnerClasses:
  BooleanFieldDeserializer = com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$BooleanFieldDeserializer of com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe
  ByteFieldDeserializer = com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$ByteFieldDeserializer of com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe
  CharFieldDeserializer = com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$CharFieldDeserializer of com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe
  DoubleFieldDeserializer = com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$DoubleFieldDeserializer of com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe
  FloatFieldDeserializer = com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$FloatFieldDeserializer of com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe
  IntFieldDeserializer = com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$IntFieldDeserializer of com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe
  LongFieldDeserializer = com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$LongFieldDeserializer of com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe
  NullFieldDeserializer = com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$NullFieldDeserializer of com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe
  ObjectFieldDeserializer = com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$ObjectFieldDeserializer of com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe
  ShortFieldDeserializer = com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$ShortFieldDeserializer of com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe
  SqlDateFieldDeserializer = com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$SqlDateFieldDeserializer of com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe
  SqlTimeFieldDeserializer = com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$SqlTimeFieldDeserializer of com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe
  SqlTimestampFieldDeserializer = com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$SqlTimestampFieldDeserializer of com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe
  StringFieldDeserializer = com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe$StringFieldDeserializer of com.caucho.hessian.io.FieldDeserializer2FactoryUnsafe