public class com.caucho.hessian.io.Hessian2Output extends com.caucho.hessian.io.AbstractHessianOutput implements com.caucho.hessian.io.Hessian2Constants
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.caucho.hessian.io.Hessian2Output
  super_class: com.caucho.hessian.io.AbstractHessianOutput
{
  public static final int SIZE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8192

  protected java.io.OutputStream _os;
    descriptor: Ljava/io/OutputStream;
    flags: (0x0004) ACC_PROTECTED

  private final com.caucho.hessian.util.IdentityIntMap _refs;
    descriptor: Lcom/caucho/hessian/util/IdentityIntMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private boolean _isCloseStreamOnClose;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private final com.caucho.hessian.util.IdentityIntMap _classRefs;
    descriptor: Lcom/caucho/hessian/util/IdentityIntMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.util.HashMap<java.lang.String, java.lang.Integer> _typeRefs;
    descriptor: Ljava/util/HashMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Integer;>;

  private final byte[] _buffer;
    descriptor: [B
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private boolean _isPacket;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean _isUnshared;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.caucho.hessian.io.Hessian2Output this
         0: .line 115
            aload 0 /* this */
            invokespecial com.caucho.hessian.io.AbstractHessianOutput.<init>:()V
         1: .line 88
            aload 0 /* this */
         2: .line 89
            new com.caucho.hessian.util.IdentityIntMap
            dup
            sipush 256
            invokespecial com.caucho.hessian.util.IdentityIntMap.<init>:(I)V
            putfield com.caucho.hessian.io.Hessian2Output._refs:Lcom/caucho/hessian/util/IdentityIntMap;
         3: .line 91
            aload 0 /* this */
            iconst_0
            putfield com.caucho.hessian.io.Hessian2Output._refCount:I
         4: .line 96
            aload 0 /* this */
         5: .line 97
            new com.caucho.hessian.util.IdentityIntMap
            dup
            sipush 256
            invokespecial com.caucho.hessian.util.IdentityIntMap.<init>:(I)V
            putfield com.caucho.hessian.io.Hessian2Output._classRefs:Lcom/caucho/hessian/util/IdentityIntMap;
         6: .line 102
            aload 0 /* this */
            sipush 8192
            newarray 8
            putfield com.caucho.hessian.io.Hessian2Output._buffer:[B
         7: .line 117
            return
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/caucho/hessian/io/Hessian2Output;

  public void <init>(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // java.io.OutputStream os
         0: .line 125
            aload 0 /* this */
            invokespecial com.caucho.hessian.io.AbstractHessianOutput.<init>:()V
         1: .line 88
            aload 0 /* this */
         2: .line 89
            new com.caucho.hessian.util.IdentityIntMap
            dup
            sipush 256
            invokespecial com.caucho.hessian.util.IdentityIntMap.<init>:(I)V
            putfield com.caucho.hessian.io.Hessian2Output._refs:Lcom/caucho/hessian/util/IdentityIntMap;
         3: .line 91
            aload 0 /* this */
            iconst_0
            putfield com.caucho.hessian.io.Hessian2Output._refCount:I
         4: .line 96
            aload 0 /* this */
         5: .line 97
            new com.caucho.hessian.util.IdentityIntMap
            dup
            sipush 256
            invokespecial com.caucho.hessian.util.IdentityIntMap.<init>:(I)V
            putfield com.caucho.hessian.io.Hessian2Output._classRefs:Lcom/caucho/hessian/util/IdentityIntMap;
         6: .line 102
            aload 0 /* this */
            sipush 8192
            newarray 8
            putfield com.caucho.hessian.io.Hessian2Output._buffer:[B
         7: .line 127
            aload 0 /* this */
            aload 1 /* os */
            invokevirtual com.caucho.hessian.io.Hessian2Output.init:(Ljava/io/OutputStream;)V
         8: .line 128
            return
        end local 1 // java.io.OutputStream os
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/caucho/hessian/io/Hessian2Output;
            0    9     1    os  Ljava/io/OutputStream;
    MethodParameters:
      Name  Flags
      os    

  public void init(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // java.io.OutputStream os
         0: .line 133
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.reset:()V
         1: .line 135
            aload 0 /* this */
            aload 1 /* os */
            putfield com.caucho.hessian.io.Hessian2Output._os:Ljava/io/OutputStream;
         2: .line 136
            return
        end local 1 // java.io.OutputStream os
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/caucho/hessian/io/Hessian2Output;
            0    3     1    os  Ljava/io/OutputStream;
    MethodParameters:
      Name  Flags
      os    

  public void initPacket(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // java.io.OutputStream os
         0: .line 140
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.resetReferences:()V
         1: .line 142
            aload 0 /* this */
            aload 1 /* os */
            putfield com.caucho.hessian.io.Hessian2Output._os:Ljava/io/OutputStream;
         2: .line 143
            return
        end local 1 // java.io.OutputStream os
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/caucho/hessian/io/Hessian2Output;
            0    3     1    os  Ljava/io/OutputStream;
    MethodParameters:
      Name  Flags
      os    

  public void setCloseStreamOnClose(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // boolean isClose
         0: .line 147
            aload 0 /* this */
            iload 1 /* isClose */
            putfield com.caucho.hessian.io.Hessian2Output._isCloseStreamOnClose:Z
         1: .line 148
            return
        end local 1 // boolean isClose
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/caucho/hessian/io/Hessian2Output;
            0    2     1  isClose  Z
    MethodParameters:
         Name  Flags
      isClose  

  public boolean isCloseStreamOnClose();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.caucho.hessian.io.Hessian2Output this
         0: .line 152
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._isCloseStreamOnClose:Z
            ireturn
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/caucho/hessian/io/Hessian2Output;

  public boolean setUnshared(boolean);
    descriptor: (Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // boolean isUnshared
         0: .line 162
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._isUnshared:Z
            istore 2 /* oldIsUnshared */
        start local 2 // boolean oldIsUnshared
         1: .line 164
            aload 0 /* this */
            iload 1 /* isUnshared */
            putfield com.caucho.hessian.io.Hessian2Output._isUnshared:Z
         2: .line 166
            iload 2 /* oldIsUnshared */
            ireturn
        end local 2 // boolean oldIsUnshared
        end local 1 // boolean isUnshared
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lcom/caucho/hessian/io/Hessian2Output;
            0    3     1     isUnshared  Z
            1    3     2  oldIsUnshared  Z
    MethodParameters:
            Name  Flags
      isUnshared  

  public void call(java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // java.lang.String method
        start local 2 // java.lang.Object[] args
         0: .line 176
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.writeVersion:()V
         1: .line 178
            aload 2 /* args */
            ifnull 2
            aload 2 /* args */
            arraylength
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 3 /* length */
        start local 3 // int length
         4: .line 180
            aload 0 /* this */
            aload 1 /* method */
            iload 3 /* length */
            invokevirtual com.caucho.hessian.io.Hessian2Output.startCall:(Ljava/lang/String;I)V
         5: .line 182
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: goto 9
         7: .line 183
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* args */
            iload 4 /* i */
            aaload
            invokevirtual com.caucho.hessian.io.Hessian2Output.writeObject:(Ljava/lang/Object;)V
         8: .line 182
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            iload 3 /* length */
            if_icmplt 7
        end local 4 // int i
        10: .line 186
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.completeCall:()V
        11: .line 188
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flush:()V
        12: .line 189
            return
        end local 3 // int length
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String method
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Lcom/caucho/hessian/io/Hessian2Output;
            0   13     1  method  Ljava/lang/String;
            0   13     2    args  [Ljava/lang/Object;
            4   13     3  length  I
            6   10     4       i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      method  
      args    

  public void startCall(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // java.lang.String method
        start local 2 // int length
         0: .line 208
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            istore 3 /* offset */
        start local 3 // int offset
         1: .line 210
            sipush 8192
            iload 3 /* offset */
            bipush 32
            iadd
            if_icmpge 4
         2: .line 211
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushBuffer:()V
         3: .line 212
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            istore 3 /* offset */
         4: .line 215
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            astore 4 /* buffer */
        start local 4 // byte[] buffer
         5: .line 217
            aload 4 /* buffer */
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 67
            bastore
         6: .line 219
            aload 0 /* this */
            aload 1 /* method */
            invokevirtual com.caucho.hessian.io.Hessian2Output.writeString:(Ljava/lang/String;)V
         7: .line 220
            aload 0 /* this */
            iload 2 /* length */
            invokevirtual com.caucho.hessian.io.Hessian2Output.writeInt:(I)V
         8: .line 221
            return
        end local 4 // byte[] buffer
        end local 3 // int offset
        end local 2 // int length
        end local 1 // java.lang.String method
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lcom/caucho/hessian/io/Hessian2Output;
            0    9     1  method  Ljava/lang/String;
            0    9     2  length  I
            1    9     3  offset  I
            5    9     4  buffer  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      method  
      length  

  public void startCall();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.caucho.hessian.io.Hessian2Output this
         0: .line 237
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushIfFull:()V
         1: .line 239
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 67
            bastore
         2: .line 240
            return
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/caucho/hessian/io/Hessian2Output;
    Exceptions:
      throws java.io.IOException

  public void startEnvelope(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // java.lang.String method
         0: .line 255
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            istore 2 /* offset */
        start local 2 // int offset
         1: .line 257
            sipush 8192
            iload 2 /* offset */
            bipush 32
            iadd
            if_icmpge 4
         2: .line 258
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushBuffer:()V
         3: .line 259
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            istore 2 /* offset */
         4: .line 262
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 69
            bastore
         5: .line 264
            aload 0 /* this */
            aload 1 /* method */
            invokevirtual com.caucho.hessian.io.Hessian2Output.writeString:(Ljava/lang/String;)V
         6: .line 265
            return
        end local 2 // int offset
        end local 1 // java.lang.String method
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lcom/caucho/hessian/io/Hessian2Output;
            0    7     1  method  Ljava/lang/String;
            1    7     2  offset  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      method  

  public void completeEnvelope();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.caucho.hessian.io.Hessian2Output this
         0: .line 279
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushIfFull:()V
         1: .line 281
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 90
            bastore
         2: .line 282
            return
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/caucho/hessian/io/Hessian2Output;
    Exceptions:
      throws java.io.IOException

  public void writeMethod(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // java.lang.String method
         0: .line 296
            aload 0 /* this */
            aload 1 /* method */
            invokevirtual com.caucho.hessian.io.Hessian2Output.writeString:(Ljava/lang/String;)V
         1: .line 297
            return
        end local 1 // java.lang.String method
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/caucho/hessian/io/Hessian2Output;
            0    2     1  method  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      method  

  public void completeCall();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // com.caucho.hessian.io.Hessian2Output this
         0: .line 315
            return
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/caucho/hessian/io/Hessian2Output;
    Exceptions:
      throws java.io.IOException

  public void startReply();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.caucho.hessian.io.Hessian2Output this
         0: .line 330
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.writeVersion:()V
         1: .line 332
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushIfFull:()V
         2: .line 334
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 82
            bastore
         3: .line 335
            return
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/caucho/hessian/io/Hessian2Output;
    Exceptions:
      throws java.io.IOException

  public void writeVersion();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.caucho.hessian.io.Hessian2Output this
         0: .line 340
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushIfFull:()V
         1: .line 342
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 72
            bastore
         2: .line 343
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            iconst_2
            bastore
         3: .line 344
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            iconst_0
            bastore
         4: .line 345
            return
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/caucho/hessian/io/Hessian2Output;
    Exceptions:
      throws java.io.IOException

  public void completeReply();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // com.caucho.hessian.io.Hessian2Output this
         0: .line 360
            return
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/caucho/hessian/io/Hessian2Output;
    Exceptions:
      throws java.io.IOException

  public void startMessage();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.caucho.hessian.io.Hessian2Output this
         0: .line 374
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushIfFull:()V
         1: .line 376
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 112
            bastore
         2: .line 377
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            iconst_2
            bastore
         3: .line 378
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            iconst_0
            bastore
         4: .line 379
            return
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/caucho/hessian/io/Hessian2Output;
    Exceptions:
      throws java.io.IOException

  public void completeMessage();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.caucho.hessian.io.Hessian2Output this
         0: .line 393
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushIfFull:()V
         1: .line 395
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 122
            bastore
         2: .line 396
            return
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/caucho/hessian/io/Hessian2Output;
    Exceptions:
      throws java.io.IOException

  public void writeFault(java.lang.String, java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // java.lang.String code
        start local 2 // java.lang.String message
        start local 3 // java.lang.Object detail
         0: .line 426
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushIfFull:()V
         1: .line 428
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.writeVersion:()V
         2: .line 430
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 70
            bastore
         3: .line 431
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 72
            bastore
         4: .line 433
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._refCount:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._refCount:I
            iconst_0
            invokevirtual com.caucho.hessian.io.Hessian2Output.addRef:(Ljava/lang/Object;IZ)I
            pop
         5: .line 435
            aload 0 /* this */
            ldc "code"
            invokevirtual com.caucho.hessian.io.Hessian2Output.writeString:(Ljava/lang/String;)V
         6: .line 436
            aload 0 /* this */
            aload 1 /* code */
            invokevirtual com.caucho.hessian.io.Hessian2Output.writeString:(Ljava/lang/String;)V
         7: .line 438
            aload 0 /* this */
            ldc "message"
            invokevirtual com.caucho.hessian.io.Hessian2Output.writeString:(Ljava/lang/String;)V
         8: .line 439
            aload 0 /* this */
            aload 2 /* message */
            invokevirtual com.caucho.hessian.io.Hessian2Output.writeString:(Ljava/lang/String;)V
         9: .line 441
            aload 3 /* detail */
            ifnull 12
        10: .line 442
            aload 0 /* this */
            ldc "detail"
            invokevirtual com.caucho.hessian.io.Hessian2Output.writeString:(Ljava/lang/String;)V
        11: .line 443
            aload 0 /* this */
            aload 3 /* detail */
            invokevirtual com.caucho.hessian.io.Hessian2Output.writeObject:(Ljava/lang/Object;)V
        12: .line 446
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushIfFull:()V
        13: .line 447
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 90
            bastore
        14: .line 448
            return
        end local 3 // java.lang.Object detail
        end local 2 // java.lang.String message
        end local 1 // java.lang.String code
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Lcom/caucho/hessian/io/Hessian2Output;
            0   15     1     code  Ljava/lang/String;
            0   15     2  message  Ljava/lang/String;
            0   15     3   detail  Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      code     
      message  
      detail   

  public void writeObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // java.lang.Object object
         0: .line 457
            aload 1 /* object */
            ifnonnull 3
         1: .line 458
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.writeNull:()V
         2: .line 459
            return
         3: .line 463
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.findSerializerFactory:()Lcom/caucho/hessian/io/SerializerFactory;
            aload 1 /* object */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual com.caucho.hessian.io.SerializerFactory.getObjectSerializer:(Ljava/lang/Class;)Lcom/caucho/hessian/io/Serializer;
         4: .line 462
            astore 2 /* serializer */
        start local 2 // com.caucho.hessian.io.Serializer serializer
         5: .line 465
            aload 2 /* serializer */
            aload 1 /* object */
            aload 0 /* this */
            invokeinterface com.caucho.hessian.io.Serializer.writeObject:(Ljava/lang/Object;Lcom/caucho/hessian/io/AbstractHessianOutput;)V
         6: .line 466
            return
        end local 2 // com.caucho.hessian.io.Serializer serializer
        end local 1 // java.lang.Object object
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lcom/caucho/hessian/io/Hessian2Output;
            0    7     1      object  Ljava/lang/Object;
            5    7     2  serializer  Lcom/caucho/hessian/io/Serializer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      object  

  public boolean writeListBegin(int, java.lang.String);
    descriptor: (ILjava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // int length
        start local 2 // java.lang.String type
         0: .line 483
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushIfFull:()V
         1: .line 485
            iload 1 /* length */
            ifge 8
         2: .line 486
            aload 2 /* type */
            ifnull 6
         3: .line 487
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 85
            bastore
         4: .line 488
            aload 0 /* this */
            aload 2 /* type */
            invokevirtual com.caucho.hessian.io.Hessian2Output.writeType:(Ljava/lang/String;)V
         5: .line 489
            goto 7
         6: .line 491
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 87
            bastore
         7: .line 493
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         8: .line 495
      StackMap locals:
      StackMap stack:
            iload 1 /* length */
            bipush 7
            if_icmpgt 15
         9: .line 496
            aload 2 /* type */
            ifnull 13
        10: .line 497
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 112
            iload 1 /* length */
            iadd
            i2b
            bastore
        11: .line 498
            aload 0 /* this */
            aload 2 /* type */
            invokevirtual com.caucho.hessian.io.Hessian2Output.writeType:(Ljava/lang/String;)V
        12: .line 499
            goto 14
        13: .line 501
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 120
            iload 1 /* length */
            iadd
            i2b
            bastore
        14: .line 504
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        15: .line 507
      StackMap locals:
      StackMap stack:
            aload 2 /* type */
            ifnull 19
        16: .line 508
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 86
            bastore
        17: .line 509
            aload 0 /* this */
            aload 2 /* type */
            invokevirtual com.caucho.hessian.io.Hessian2Output.writeType:(Ljava/lang/String;)V
        18: .line 510
            goto 20
        19: .line 512
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 88
            bastore
        20: .line 515
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* length */
            invokevirtual com.caucho.hessian.io.Hessian2Output.writeInt:(I)V
        21: .line 517
            iconst_0
            ireturn
        end local 2 // java.lang.String type
        end local 1 // int length
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   22     0    this  Lcom/caucho/hessian/io/Hessian2Output;
            0   22     1  length  I
            0   22     2    type  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      length  
      type    

  public void writeListEnd();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.caucho.hessian.io.Hessian2Output this
         0: .line 527
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushIfFull:()V
         1: .line 529
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 90
            bastore
         2: .line 530
            return
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/caucho/hessian/io/Hessian2Output;
    Exceptions:
      throws java.io.IOException

  public void writeMapBegin(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // java.lang.String type
         0: .line 545
            sipush 8192
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 32
            iadd
            if_icmpge 2
         1: .line 546
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushBuffer:()V
         2: .line 548
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ifnull 6
         3: .line 549
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 77
            bastore
         4: .line 551
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual com.caucho.hessian.io.Hessian2Output.writeType:(Ljava/lang/String;)V
         5: .line 552
            goto 7
         6: .line 554
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 72
            bastore
         7: .line 555
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String type
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/caucho/hessian/io/Hessian2Output;
            0    8     1  type  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      type  

  public void writeMapEnd();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.caucho.hessian.io.Hessian2Output this
         0: .line 563
            sipush 8192
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 32
            iadd
            if_icmpge 2
         1: .line 564
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushBuffer:()V
         2: .line 566
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 90
            bastore
         3: .line 567
            return
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/caucho/hessian/io/Hessian2Output;
    Exceptions:
      throws java.io.IOException

  public int writeObjectBegin(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // java.lang.String type
         0: .line 580
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._classRefs:Lcom/caucho/hessian/util/IdentityIntMap;
            invokevirtual com.caucho.hessian.util.IdentityIntMap.size:()I
            istore 2 /* newRef */
        start local 2 // int newRef
         1: .line 581
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._classRefs:Lcom/caucho/hessian/util/IdentityIntMap;
            aload 1 /* type */
            iload 2 /* newRef */
            iconst_0
            invokevirtual com.caucho.hessian.util.IdentityIntMap.put:(Ljava/lang/Object;IZ)I
            istore 3 /* ref */
        start local 3 // int ref
         2: .line 583
            iload 2 /* newRef */
            iload 3 /* ref */
            if_icmpeq 11
         3: .line 584
            sipush 8192
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 32
            iadd
            if_icmpge 5
         4: .line 585
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushBuffer:()V
         5: .line 587
      StackMap locals: int int
      StackMap stack:
            iload 3 /* ref */
            bipush 15
            if_icmpgt 8
         6: .line 588
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 96
            iload 3 /* ref */
            iadd
            i2b
            bastore
         7: .line 589
            goto 10
         8: .line 591
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 79
            bastore
         9: .line 592
            aload 0 /* this */
            iload 3 /* ref */
            invokevirtual com.caucho.hessian.io.Hessian2Output.writeInt:(I)V
        10: .line 595
      StackMap locals:
      StackMap stack:
            iload 3 /* ref */
            ireturn
        11: .line 598
      StackMap locals:
      StackMap stack:
            sipush 8192
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 32
            iadd
            if_icmpge 13
        12: .line 599
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushBuffer:()V
        13: .line 601
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 67
            bastore
        14: .line 603
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual com.caucho.hessian.io.Hessian2Output.writeString:(Ljava/lang/String;)V
        15: .line 605
            iconst_m1
            ireturn
        end local 3 // int ref
        end local 2 // int newRef
        end local 1 // java.lang.String type
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   16     0    this  Lcom/caucho/hessian/io/Hessian2Output;
            0   16     1    type  Ljava/lang/String;
            1   16     2  newRef  I
            2   16     3     ref  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      type  

  public void writeClassFieldLength(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // int len
         0: .line 616
            aload 0 /* this */
            iload 1 /* len */
            invokevirtual com.caucho.hessian.io.Hessian2Output.writeInt:(I)V
         1: .line 617
            return
        end local 1 // int len
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/caucho/hessian/io/Hessian2Output;
            0    2     1   len  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      len   

  public void writeObjectEnd();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // com.caucho.hessian.io.Hessian2Output this
         0: .line 626
            return
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/caucho/hessian/io/Hessian2Output;
    Exceptions:
      throws java.io.IOException

  private void writeType(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // java.lang.String type
         0: .line 637
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushIfFull:()V
         1: .line 639
            aload 1 /* type */
            invokevirtual java.lang.String.length:()I
            istore 2 /* len */
        start local 2 // int len
         2: .line 640
            iload 2 /* len */
            ifne 4
         3: .line 641
            new java.lang.IllegalArgumentException
            dup
            ldc "empty type is not allowed"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 644
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._typeRefs:Ljava/util/HashMap;
            ifnonnull 6
         5: .line 645
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.caucho.hessian.io.Hessian2Output._typeRefs:Ljava/util/HashMap;
         6: .line 647
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._typeRefs:Ljava/util/HashMap;
            aload 1 /* type */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 3 /* typeRefV */
        start local 3 // java.lang.Integer typeRefV
         7: .line 649
            aload 3 /* typeRefV */
            ifnull 11
         8: .line 650
            aload 3 /* typeRefV */
            invokevirtual java.lang.Integer.intValue:()I
            istore 4 /* typeRef */
        start local 4 // int typeRef
         9: .line 652
            aload 0 /* this */
            iload 4 /* typeRef */
            invokevirtual com.caucho.hessian.io.Hessian2Output.writeInt:(I)V
        end local 4 // int typeRef
        10: .line 653
            goto 13
        11: .line 655
      StackMap locals: java.lang.Integer
      StackMap stack:
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._typeRefs:Ljava/util/HashMap;
            aload 1 /* type */
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._typeRefs:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.size:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 657
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual com.caucho.hessian.io.Hessian2Output.writeString:(Ljava/lang/String;)V
        13: .line 659
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.Integer typeRefV
        end local 2 // int len
        end local 1 // java.lang.String type
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Lcom/caucho/hessian/io/Hessian2Output;
            0   14     1      type  Ljava/lang/String;
            2   14     2       len  I
            7   14     3  typeRefV  Ljava/lang/Integer;
            9   10     4   typeRef  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      type  

  public void writeBoolean(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // boolean value
         0: .line 676
            sipush 8192
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 16
            iadd
            if_icmpge 2
         1: .line 677
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushBuffer:()V
         2: .line 679
      StackMap locals:
      StackMap stack:
            iload 1 /* value */
            ifeq 4
         3: .line 680
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 84
            bastore
            goto 5
         4: .line 682
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 70
            bastore
         5: .line 683
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean value
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lcom/caucho/hessian/io/Hessian2Output;
            0    6     1  value  Z
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      value  

  public void writeInt(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // int value
         0: .line 699
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            istore 2 /* offset */
        start local 2 // int offset
         1: .line 700
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            astore 3 /* buffer */
        start local 3 // byte[] buffer
         2: .line 702
            sipush 8192
            iload 2 /* offset */
            bipush 16
            iadd
            if_icmpgt 5
         3: .line 703
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushBuffer:()V
         4: .line 704
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            istore 2 /* offset */
         5: .line 707
      StackMap locals: int byte[]
      StackMap stack:
            bipush -16
            iload 1 /* value */
            if_icmpgt 7
            iload 1 /* value */
            bipush 47
            if_icmpgt 7
         6: .line 708
            aload 3 /* buffer */
            iload 2 /* offset */
            iinc 2 /* offset */ 1
            iload 1 /* value */
            sipush 144
            iadd
            i2b
            bastore
            goto 21
         7: .line 709
      StackMap locals:
      StackMap stack:
            sipush -2048
            iload 1 /* value */
            if_icmpgt 11
            iload 1 /* value */
            sipush 2047
            if_icmpgt 11
         8: .line 710
            aload 3 /* buffer */
            iload 2 /* offset */
            iinc 2 /* offset */ 1
            sipush 200
            iload 1 /* value */
            bipush 8
            ishr
            iadd
            i2b
            bastore
         9: .line 711
            aload 3 /* buffer */
            iload 2 /* offset */
            iinc 2 /* offset */ 1
            iload 1 /* value */
            i2b
            bastore
        10: .line 712
            goto 21
        11: .line 713
      StackMap locals:
      StackMap stack:
            ldc -262144
            iload 1 /* value */
            if_icmpgt 16
            iload 1 /* value */
            ldc 262143
            if_icmpgt 16
        12: .line 714
            aload 3 /* buffer */
            iload 2 /* offset */
            iinc 2 /* offset */ 1
            sipush 212
            iload 1 /* value */
            bipush 16
            ishr
            iadd
            i2b
            bastore
        13: .line 715
            aload 3 /* buffer */
            iload 2 /* offset */
            iinc 2 /* offset */ 1
            iload 1 /* value */
            bipush 8
            ishr
            i2b
            bastore
        14: .line 716
            aload 3 /* buffer */
            iload 2 /* offset */
            iinc 2 /* offset */ 1
            iload 1 /* value */
            i2b
            bastore
        15: .line 717
            goto 21
        16: .line 719
      StackMap locals:
      StackMap stack:
            aload 3 /* buffer */
            iload 2 /* offset */
            iinc 2 /* offset */ 1
            bipush 73
            bastore
        17: .line 720
            aload 3 /* buffer */
            iload 2 /* offset */
            iinc 2 /* offset */ 1
            iload 1 /* value */
            bipush 24
            ishr
            i2b
            bastore
        18: .line 721
            aload 3 /* buffer */
            iload 2 /* offset */
            iinc 2 /* offset */ 1
            iload 1 /* value */
            bipush 16
            ishr
            i2b
            bastore
        19: .line 722
            aload 3 /* buffer */
            iload 2 /* offset */
            iinc 2 /* offset */ 1
            iload 1 /* value */
            bipush 8
            ishr
            i2b
            bastore
        20: .line 723
            aload 3 /* buffer */
            iload 2 /* offset */
            iinc 2 /* offset */ 1
            iload 1 /* value */
            i2b
            bastore
        21: .line 726
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* offset */
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
        22: .line 727
            return
        end local 3 // byte[] buffer
        end local 2 // int offset
        end local 1 // int value
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   23     0    this  Lcom/caucho/hessian/io/Hessian2Output;
            0   23     1   value  I
            1   23     2  offset  I
            2   23     3  buffer  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      value  

  public void writeLong(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=2
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // long value
         0: .line 742
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            istore 3 /* offset */
        start local 3 // int offset
         1: .line 743
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            astore 4 /* buffer */
        start local 4 // byte[] buffer
         2: .line 745
            sipush 8192
            iload 3 /* offset */
            bipush 16
            iadd
            if_icmpgt 5
         3: .line 746
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushBuffer:()V
         4: .line 747
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            istore 3 /* offset */
         5: .line 750
      StackMap locals: int byte[]
      StackMap stack:
            ldc -8
            lload 1 /* value */
            lcmp
            ifgt 8
            lload 1 /* value */
            ldc 15
            lcmp
            ifgt 8
         6: .line 751
            aload 4 /* buffer */
            iload 3 /* offset */
            iinc 3 /* offset */ 1
            lload 1 /* value */
            ldc 224
            ladd
            l2i
            i2b
            bastore
         7: .line 752
            goto 35
         8: .line 753
      StackMap locals:
      StackMap stack:
            ldc -2048
            lload 1 /* value */
            lcmp
            ifgt 12
            lload 1 /* value */
            ldc 2047
            lcmp
            ifgt 12
         9: .line 754
            aload 4 /* buffer */
            iload 3 /* offset */
            iinc 3 /* offset */ 1
            ldc 248
            lload 1 /* value */
            bipush 8
            lshr
            ladd
            l2i
            i2b
            bastore
        10: .line 755
            aload 4 /* buffer */
            iload 3 /* offset */
            iinc 3 /* offset */ 1
            lload 1 /* value */
            l2i
            i2b
            bastore
        11: .line 756
            goto 35
        12: .line 757
      StackMap locals:
      StackMap stack:
            ldc -262144
            lload 1 /* value */
            lcmp
            ifgt 17
            lload 1 /* value */
            ldc 262143
            lcmp
            ifgt 17
        13: .line 758
            aload 4 /* buffer */
            iload 3 /* offset */
            iinc 3 /* offset */ 1
            ldc 60
            lload 1 /* value */
            bipush 16
            lshr
            ladd
            l2i
            i2b
            bastore
        14: .line 759
            aload 4 /* buffer */
            iload 3 /* offset */
            iinc 3 /* offset */ 1
            lload 1 /* value */
            bipush 8
            lshr
            l2i
            i2b
            bastore
        15: .line 760
            aload 4 /* buffer */
            iload 3 /* offset */
            iinc 3 /* offset */ 1
            lload 1 /* value */
            l2i
            i2b
            bastore
        16: .line 761
            goto 35
        17: .line 762
      StackMap locals:
      StackMap stack:
            ldc -2147483648
            lload 1 /* value */
            lcmp
            ifgt 25
            lload 1 /* value */
            ldc 2147483647
            lcmp
            ifgt 25
        18: .line 763
            aload 4 /* buffer */
            iload 3 /* offset */
            iconst_0
            iadd
            bipush 89
            bastore
        19: .line 764
            aload 4 /* buffer */
            iload 3 /* offset */
            iconst_1
            iadd
            lload 1 /* value */
            bipush 24
            lshr
            l2i
            i2b
            bastore
        20: .line 765
            aload 4 /* buffer */
            iload 3 /* offset */
            iconst_2
            iadd
            lload 1 /* value */
            bipush 16
            lshr
            l2i
            i2b
            bastore
        21: .line 766
            aload 4 /* buffer */
            iload 3 /* offset */
            iconst_3
            iadd
            lload 1 /* value */
            bipush 8
            lshr
            l2i
            i2b
            bastore
        22: .line 767
            aload 4 /* buffer */
            iload 3 /* offset */
            iconst_4
            iadd
            lload 1 /* value */
            l2i
            i2b
            bastore
        23: .line 769
            iinc 3 /* offset */ 5
        24: .line 770
            goto 35
        25: .line 772
      StackMap locals:
      StackMap stack:
            aload 4 /* buffer */
            iload 3 /* offset */
            iconst_0
            iadd
            bipush 76
            bastore
        26: .line 773
            aload 4 /* buffer */
            iload 3 /* offset */
            iconst_1
            iadd
            lload 1 /* value */
            bipush 56
            lshr
            l2i
            i2b
            bastore
        27: .line 774
            aload 4 /* buffer */
            iload 3 /* offset */
            iconst_2
            iadd
            lload 1 /* value */
            bipush 48
            lshr
            l2i
            i2b
            bastore
        28: .line 775
            aload 4 /* buffer */
            iload 3 /* offset */
            iconst_3
            iadd
            lload 1 /* value */
            bipush 40
            lshr
            l2i
            i2b
            bastore
        29: .line 776
            aload 4 /* buffer */
            iload 3 /* offset */
            iconst_4
            iadd
            lload 1 /* value */
            bipush 32
            lshr
            l2i
            i2b
            bastore
        30: .line 777
            aload 4 /* buffer */
            iload 3 /* offset */
            iconst_5
            iadd
            lload 1 /* value */
            bipush 24
            lshr
            l2i
            i2b
            bastore
        31: .line 778
            aload 4 /* buffer */
            iload 3 /* offset */
            bipush 6
            iadd
            lload 1 /* value */
            bipush 16
            lshr
            l2i
            i2b
            bastore
        32: .line 779
            aload 4 /* buffer */
            iload 3 /* offset */
            bipush 7
            iadd
            lload 1 /* value */
            bipush 8
            lshr
            l2i
            i2b
            bastore
        33: .line 780
            aload 4 /* buffer */
            iload 3 /* offset */
            bipush 8
            iadd
            lload 1 /* value */
            l2i
            i2b
            bastore
        34: .line 782
            iinc 3 /* offset */ 9
        35: .line 785
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* offset */
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
        36: .line 786
            return
        end local 4 // byte[] buffer
        end local 3 // int offset
        end local 1 // long value
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   37     0    this  Lcom/caucho/hessian/io/Hessian2Output;
            0   37     1   value  J
            1   37     3  offset  I
            2   37     4  buffer  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      value  

  public void writeDouble(double);
    descriptor: (D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // double value
         0: .line 801
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            istore 3 /* offset */
        start local 3 // int offset
         1: .line 802
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            astore 4 /* buffer */
        start local 4 // byte[] buffer
         2: .line 804
            sipush 8192
            iload 3 /* offset */
            bipush 16
            iadd
            if_icmpgt 5
         3: .line 805
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushBuffer:()V
         4: .line 806
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            istore 3 /* offset */
         5: .line 809
      StackMap locals: int byte[]
      StackMap stack:
            dload 1 /* value */
            d2i
            istore 5 /* intValue */
        start local 5 // int intValue
         6: .line 811
            iload 5 /* intValue */
            i2d
            dload 1 /* value */
            dcmpl
            ifne 26
         7: .line 812
            iload 5 /* intValue */
            ifne 11
         8: .line 813
            aload 4 /* buffer */
            iload 3 /* offset */
            iinc 3 /* offset */ 1
            bipush 91
            bastore
         9: .line 815
            aload 0 /* this */
            iload 3 /* offset */
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
        10: .line 817
            return
        11: .line 819
      StackMap locals: int
      StackMap stack:
            iload 5 /* intValue */
            iconst_1
            if_icmpne 15
        12: .line 820
            aload 4 /* buffer */
            iload 3 /* offset */
            iinc 3 /* offset */ 1
            bipush 92
            bastore
        13: .line 822
            aload 0 /* this */
            iload 3 /* offset */
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
        14: .line 824
            return
        15: .line 826
      StackMap locals:
      StackMap stack:
            bipush -128
            iload 5 /* intValue */
            if_icmpgt 20
            iload 5 /* intValue */
            sipush 128
            if_icmpge 20
        16: .line 827
            aload 4 /* buffer */
            iload 3 /* offset */
            iinc 3 /* offset */ 1
            bipush 93
            bastore
        17: .line 828
            aload 4 /* buffer */
            iload 3 /* offset */
            iinc 3 /* offset */ 1
            iload 5 /* intValue */
            i2b
            bastore
        18: .line 830
            aload 0 /* this */
            iload 3 /* offset */
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
        19: .line 832
            return
        20: .line 834
      StackMap locals:
      StackMap stack:
            sipush -32768
            iload 5 /* intValue */
            if_icmpgt 26
            iload 5 /* intValue */
            ldc 32768
            if_icmpge 26
        21: .line 835
            aload 4 /* buffer */
            iload 3 /* offset */
            iconst_0
            iadd
            bipush 94
            bastore
        22: .line 836
            aload 4 /* buffer */
            iload 3 /* offset */
            iconst_1
            iadd
            iload 5 /* intValue */
            bipush 8
            ishr
            i2b
            bastore
        23: .line 837
            aload 4 /* buffer */
            iload 3 /* offset */
            iconst_2
            iadd
            iload 5 /* intValue */
            i2b
            bastore
        24: .line 839
            aload 0 /* this */
            iload 3 /* offset */
            iconst_3
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
        25: .line 841
            return
        26: .line 845
      StackMap locals:
      StackMap stack:
            dload 1 /* value */
            ldc 1000.0
            dmul
            d2i
            istore 6 /* mills */
        start local 6 // int mills
        27: .line 847
            ldc 0.001
            iload 6 /* mills */
            i2d
            dmul
            dload 1 /* value */
            dcmpl
            ifne 35
        28: .line 848
            aload 4 /* buffer */
            iload 3 /* offset */
            iconst_0
            iadd
            bipush 95
            bastore
        29: .line 849
            aload 4 /* buffer */
            iload 3 /* offset */
            iconst_1
            iadd
            iload 6 /* mills */
            bipush 24
            ishr
            i2b
            bastore
        30: .line 850
            aload 4 /* buffer */
            iload 3 /* offset */
            iconst_2
            iadd
            iload 6 /* mills */
            bipush 16
            ishr
            i2b
            bastore
        31: .line 851
            aload 4 /* buffer */
            iload 3 /* offset */
            iconst_3
            iadd
            iload 6 /* mills */
            bipush 8
            ishr
            i2b
            bastore
        32: .line 852
            aload 4 /* buffer */
            iload 3 /* offset */
            iconst_4
            iadd
            iload 6 /* mills */
            i2b
            bastore
        33: .line 854
            aload 0 /* this */
            iload 3 /* offset */
            iconst_5
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
        34: .line 856
            return
        35: .line 859
      StackMap locals: int
      StackMap stack:
            dload 1 /* value */
            invokestatic java.lang.Double.doubleToLongBits:(D)J
            lstore 7 /* bits */
        start local 7 // long bits
        36: .line 861
            aload 4 /* buffer */
            iload 3 /* offset */
            iconst_0
            iadd
            bipush 68
            bastore
        37: .line 862
            aload 4 /* buffer */
            iload 3 /* offset */
            iconst_1
            iadd
            lload 7 /* bits */
            bipush 56
            lshr
            l2i
            i2b
            bastore
        38: .line 863
            aload 4 /* buffer */
            iload 3 /* offset */
            iconst_2
            iadd
            lload 7 /* bits */
            bipush 48
            lshr
            l2i
            i2b
            bastore
        39: .line 864
            aload 4 /* buffer */
            iload 3 /* offset */
            iconst_3
            iadd
            lload 7 /* bits */
            bipush 40
            lshr
            l2i
            i2b
            bastore
        40: .line 865
            aload 4 /* buffer */
            iload 3 /* offset */
            iconst_4
            iadd
            lload 7 /* bits */
            bipush 32
            lshr
            l2i
            i2b
            bastore
        41: .line 866
            aload 4 /* buffer */
            iload 3 /* offset */
            iconst_5
            iadd
            lload 7 /* bits */
            bipush 24
            lshr
            l2i
            i2b
            bastore
        42: .line 867
            aload 4 /* buffer */
            iload 3 /* offset */
            bipush 6
            iadd
            lload 7 /* bits */
            bipush 16
            lshr
            l2i
            i2b
            bastore
        43: .line 868
            aload 4 /* buffer */
            iload 3 /* offset */
            bipush 7
            iadd
            lload 7 /* bits */
            bipush 8
            lshr
            l2i
            i2b
            bastore
        44: .line 869
            aload 4 /* buffer */
            iload 3 /* offset */
            bipush 8
            iadd
            lload 7 /* bits */
            l2i
            i2b
            bastore
        45: .line 871
            aload 0 /* this */
            iload 3 /* offset */
            bipush 9
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
        46: .line 872
            return
        end local 7 // long bits
        end local 6 // int mills
        end local 5 // int intValue
        end local 4 // byte[] buffer
        end local 3 // int offset
        end local 1 // double value
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   47     0      this  Lcom/caucho/hessian/io/Hessian2Output;
            0   47     1     value  D
            1   47     3    offset  I
            2   47     4    buffer  [B
            6   47     5  intValue  I
           27   47     6     mills  I
           36   47     7      bits  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      value  

  public void writeUTCDate(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // long time
         0: .line 887
            sipush 8192
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 32
            iadd
            if_icmpge 2
         1: .line 888
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushBuffer:()V
         2: .line 890
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            istore 3 /* offset */
        start local 3 // int offset
         3: .line 891
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            astore 4 /* buffer */
        start local 4 // byte[] buffer
         4: .line 893
            lload 1 /* time */
            ldc 60000
            lrem
            lconst_0
            lcmp
            ifne 14
         5: .line 896
            lload 1 /* time */
            ldc 60000
            ldiv
            lstore 5 /* minutes */
        start local 5 // long minutes
         6: .line 898
            lload 5 /* minutes */
            bipush 31
            lshr
            lconst_0
            lcmp
            ifeq 7
            lload 5 /* minutes */
            bipush 31
            lshr
            ldc -1
            lcmp
            ifne 14
         7: .line 899
      StackMap locals: int byte[] long
      StackMap stack:
            aload 4 /* buffer */
            iload 3 /* offset */
            iinc 3 /* offset */ 1
            bipush 75
            bastore
         8: .line 900
            aload 4 /* buffer */
            iload 3 /* offset */
            iinc 3 /* offset */ 1
            lload 5 /* minutes */
            bipush 24
            lshr
            l2i
            i2b
            bastore
         9: .line 901
            aload 4 /* buffer */
            iload 3 /* offset */
            iinc 3 /* offset */ 1
            lload 5 /* minutes */
            bipush 16
            lshr
            l2i
            i2b
            bastore
        10: .line 902
            aload 4 /* buffer */
            iload 3 /* offset */
            iinc 3 /* offset */ 1
            lload 5 /* minutes */
            bipush 8
            lshr
            l2i
            i2b
            bastore
        11: .line 903
            aload 4 /* buffer */
            iload 3 /* offset */
            iinc 3 /* offset */ 1
            lload 5 /* minutes */
            iconst_0
            lshr
            l2i
            i2b
            bastore
        12: .line 905
            aload 0 /* this */
            iload 3 /* offset */
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
        13: .line 906
            return
        end local 5 // long minutes
        14: .line 910
      StackMap locals:
      StackMap stack:
            aload 4 /* buffer */
            iload 3 /* offset */
            iinc 3 /* offset */ 1
            bipush 74
            bastore
        15: .line 911
            aload 4 /* buffer */
            iload 3 /* offset */
            iinc 3 /* offset */ 1
            lload 1 /* time */
            bipush 56
            lshr
            l2i
            i2b
            bastore
        16: .line 912
            aload 4 /* buffer */
            iload 3 /* offset */
            iinc 3 /* offset */ 1
            lload 1 /* time */
            bipush 48
            lshr
            l2i
            i2b
            bastore
        17: .line 913
            aload 4 /* buffer */
            iload 3 /* offset */
            iinc 3 /* offset */ 1
            lload 1 /* time */
            bipush 40
            lshr
            l2i
            i2b
            bastore
        18: .line 914
            aload 4 /* buffer */
            iload 3 /* offset */
            iinc 3 /* offset */ 1
            lload 1 /* time */
            bipush 32
            lshr
            l2i
            i2b
            bastore
        19: .line 915
            aload 4 /* buffer */
            iload 3 /* offset */
            iinc 3 /* offset */ 1
            lload 1 /* time */
            bipush 24
            lshr
            l2i
            i2b
            bastore
        20: .line 916
            aload 4 /* buffer */
            iload 3 /* offset */
            iinc 3 /* offset */ 1
            lload 1 /* time */
            bipush 16
            lshr
            l2i
            i2b
            bastore
        21: .line 917
            aload 4 /* buffer */
            iload 3 /* offset */
            iinc 3 /* offset */ 1
            lload 1 /* time */
            bipush 8
            lshr
            l2i
            i2b
            bastore
        22: .line 918
            aload 4 /* buffer */
            iload 3 /* offset */
            iinc 3 /* offset */ 1
            lload 1 /* time */
            l2i
            i2b
            bastore
        23: .line 920
            aload 0 /* this */
            iload 3 /* offset */
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
        24: .line 921
            return
        end local 4 // byte[] buffer
        end local 3 // int offset
        end local 1 // long time
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   25     0     this  Lcom/caucho/hessian/io/Hessian2Output;
            0   25     1     time  J
            3   25     3   offset  I
            4   25     4   buffer  [B
            6   14     5  minutes  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      time  

  public void writeNull();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // com.caucho.hessian.io.Hessian2Output this
         0: .line 936
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            istore 1 /* offset */
        start local 1 // int offset
         1: .line 937
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            astore 2 /* buffer */
        start local 2 // byte[] buffer
         2: .line 939
            sipush 8192
            iload 1 /* offset */
            bipush 16
            iadd
            if_icmpgt 5
         3: .line 940
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushBuffer:()V
         4: .line 941
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            istore 1 /* offset */
         5: .line 944
      StackMap locals: int byte[]
      StackMap stack:
            aload 2 /* buffer */
            iload 1 /* offset */
            iinc 1 /* offset */ 1
            bipush 78
            bastore
         6: .line 946
            aload 0 /* this */
            iload 1 /* offset */
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
         7: .line 947
            return
        end local 2 // byte[] buffer
        end local 1 // int offset
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lcom/caucho/hessian/io/Hessian2Output;
            1    8     1  offset  I
            2    8     2  buffer  [B
    Exceptions:
      throws java.io.IOException

  public void writeString(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // java.lang.String value
         0: .line 968
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            istore 2 /* offset */
        start local 2 // int offset
         1: .line 969
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            astore 3 /* buffer */
        start local 3 // byte[] buffer
         2: .line 971
            sipush 8192
            iload 2 /* offset */
            bipush 16
            iadd
            if_icmpgt 5
         3: .line 972
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushBuffer:()V
         4: .line 973
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            istore 2 /* offset */
         5: .line 976
      StackMap locals: int byte[]
      StackMap stack:
            aload 1 /* value */
            ifnonnull 9
         6: .line 977
            aload 3 /* buffer */
            iload 2 /* offset */
            iinc 2 /* offset */ 1
            bipush 78
            bastore
         7: .line 979
            aload 0 /* this */
            iload 2 /* offset */
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
         8: .line 980
            goto 44
         9: .line 982
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            invokevirtual java.lang.String.length:()I
            istore 4 /* length */
        start local 4 // int length
        10: .line 983
            iconst_0
            istore 5 /* strOffset */
        start local 5 // int strOffset
        11: .line 985
            goto 27
        12: .line 986
      StackMap locals: int int
      StackMap stack:
            ldc 32768
            istore 6 /* sublen */
        start local 6 // int sublen
        13: .line 988
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            istore 2 /* offset */
        14: .line 990
            sipush 8192
            iload 2 /* offset */
            bipush 16
            iadd
            if_icmpgt 17
        15: .line 991
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushBuffer:()V
        16: .line 992
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            istore 2 /* offset */
        17: .line 996
      StackMap locals: int
      StackMap stack:
            aload 1 /* value */
            iload 5 /* strOffset */
            iload 6 /* sublen */
            iadd
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            istore 7 /* tail */
        start local 7 // char tail
        18: .line 998
            ldc 55296
            iload 7 /* tail */
            if_icmpgt 20
            iload 7 /* tail */
            ldc 56319
            if_icmpgt 20
        19: .line 999
            iinc 6 /* sublen */ -1
        20: .line 1001
      StackMap locals: int
      StackMap stack:
            aload 3 /* buffer */
            iload 2 /* offset */
            iconst_0
            iadd
            bipush 82
            bastore
        21: .line 1002
            aload 3 /* buffer */
            iload 2 /* offset */
            iconst_1
            iadd
            iload 6 /* sublen */
            bipush 8
            ishr
            i2b
            bastore
        22: .line 1003
            aload 3 /* buffer */
            iload 2 /* offset */
            iconst_2
            iadd
            iload 6 /* sublen */
            i2b
            bastore
        23: .line 1005
            aload 0 /* this */
            iload 2 /* offset */
            iconst_3
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
        24: .line 1007
            aload 0 /* this */
            aload 1 /* value */
            iload 5 /* strOffset */
            iload 6 /* sublen */
            invokevirtual com.caucho.hessian.io.Hessian2Output.printString:(Ljava/lang/String;II)V
        25: .line 1009
            iload 4 /* length */
            iload 6 /* sublen */
            isub
            istore 4 /* length */
        26: .line 1010
            iload 5 /* strOffset */
            iload 6 /* sublen */
            iadd
            istore 5 /* strOffset */
        end local 7 // char tail
        end local 6 // int sublen
        27: .line 985
      StackMap locals:
      StackMap stack:
            iload 4 /* length */
            ldc 32768
            if_icmpgt 12
        28: .line 1013
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            istore 2 /* offset */
        29: .line 1015
            sipush 8192
            iload 2 /* offset */
            bipush 16
            iadd
            if_icmpgt 32
        30: .line 1016
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushBuffer:()V
        31: .line 1017
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            istore 2 /* offset */
        32: .line 1020
      StackMap locals:
      StackMap stack:
            iload 4 /* length */
            bipush 31
            if_icmpgt 35
        33: .line 1021
            aload 3 /* buffer */
            iload 2 /* offset */
            iinc 2 /* offset */ 1
            iconst_0
            iload 4 /* length */
            iadd
            i2b
            bastore
        34: .line 1022
            goto 42
        35: .line 1023
      StackMap locals:
      StackMap stack:
            iload 4 /* length */
            sipush 1023
            if_icmpgt 39
        36: .line 1024
            aload 3 /* buffer */
            iload 2 /* offset */
            iinc 2 /* offset */ 1
            bipush 48
            iload 4 /* length */
            bipush 8
            ishr
            iadd
            i2b
            bastore
        37: .line 1025
            aload 3 /* buffer */
            iload 2 /* offset */
            iinc 2 /* offset */ 1
            iload 4 /* length */
            i2b
            bastore
        38: .line 1026
            goto 42
        39: .line 1028
      StackMap locals:
      StackMap stack:
            aload 3 /* buffer */
            iload 2 /* offset */
            iinc 2 /* offset */ 1
            bipush 83
            bastore
        40: .line 1029
            aload 3 /* buffer */
            iload 2 /* offset */
            iinc 2 /* offset */ 1
            iload 4 /* length */
            bipush 8
            ishr
            i2b
            bastore
        41: .line 1030
            aload 3 /* buffer */
            iload 2 /* offset */
            iinc 2 /* offset */ 1
            iload 4 /* length */
            i2b
            bastore
        42: .line 1033
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* offset */
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
        43: .line 1035
            aload 0 /* this */
            aload 1 /* value */
            iload 5 /* strOffset */
            iload 4 /* length */
            invokevirtual com.caucho.hessian.io.Hessian2Output.printString:(Ljava/lang/String;II)V
        end local 5 // int strOffset
        end local 4 // int length
        44: .line 1037
      StackMap locals:
      StackMap stack:
            return
        end local 3 // byte[] buffer
        end local 2 // int offset
        end local 1 // java.lang.String value
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   45     0       this  Lcom/caucho/hessian/io/Hessian2Output;
            0   45     1      value  Ljava/lang/String;
            1   45     2     offset  I
            2   45     3     buffer  [B
           10   44     4     length  I
           11   44     5  strOffset  I
           13   27     6     sublen  I
           18   27     7       tail  C
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      value  

  public void writeString(char[], int, int);
    descriptor: ([CII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // char[] buffer
        start local 2 // int offset
        start local 3 // int length
         0: .line 1058
            aload 1 /* buffer */
            ifnonnull 17
         1: .line 1059
            sipush 8192
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 16
            iadd
            if_icmpge 3
         2: .line 1060
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushBuffer:()V
         3: .line 1062
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 78
            bastore
         4: .line 1063
            goto 31
         5: .line 1066
      StackMap locals:
      StackMap stack:
            ldc 32768
            istore 4 /* sublen */
        start local 4 // int sublen
         6: .line 1068
            sipush 8192
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 16
            iadd
            if_icmpge 8
         7: .line 1069
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushBuffer:()V
         8: .line 1072
      StackMap locals: int
      StackMap stack:
            aload 1 /* buffer */
            iload 2 /* offset */
            iload 4 /* sublen */
            iadd
            iconst_1
            isub
            caload
            istore 5 /* tail */
        start local 5 // char tail
         9: .line 1074
            ldc 55296
            iload 5 /* tail */
            if_icmpgt 11
            iload 5 /* tail */
            ldc 56319
            if_icmpgt 11
        10: .line 1075
            iinc 4 /* sublen */ -1
        11: .line 1077
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 82
            bastore
        12: .line 1078
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            iload 4 /* sublen */
            bipush 8
            ishr
            i2b
            bastore
        13: .line 1079
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            iload 4 /* sublen */
            i2b
            bastore
        14: .line 1081
            aload 0 /* this */
            aload 1 /* buffer */
            iload 2 /* offset */
            iload 4 /* sublen */
            invokevirtual com.caucho.hessian.io.Hessian2Output.printString:([CII)V
        15: .line 1083
            iload 3 /* length */
            iload 4 /* sublen */
            isub
            istore 3 /* length */
        16: .line 1084
            iload 2 /* offset */
            iload 4 /* sublen */
            iadd
            istore 2 /* offset */
        end local 5 // char tail
        end local 4 // int sublen
        17: .line 1065
      StackMap locals:
      StackMap stack:
            iload 3 /* length */
            ldc 32768
            if_icmpgt 5
        18: .line 1087
            sipush 8192
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 16
            iadd
            if_icmpge 20
        19: .line 1088
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushBuffer:()V
        20: .line 1090
      StackMap locals:
      StackMap stack:
            iload 3 /* length */
            bipush 31
            if_icmpgt 23
        21: .line 1091
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            iconst_0
            iload 3 /* length */
            iadd
            i2b
            bastore
        22: .line 1092
            goto 30
        23: .line 1093
      StackMap locals:
      StackMap stack:
            iload 3 /* length */
            sipush 1023
            if_icmpgt 27
        24: .line 1094
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 48
            iload 3 /* length */
            bipush 8
            ishr
            iadd
            i2b
            bastore
        25: .line 1095
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            iload 3 /* length */
            i2b
            bastore
        26: .line 1096
            goto 30
        27: .line 1098
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 83
            bastore
        28: .line 1099
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            iload 3 /* length */
            bipush 8
            ishr
            i2b
            bastore
        29: .line 1100
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            iload 3 /* length */
            i2b
            bastore
        30: .line 1103
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* buffer */
            iload 2 /* offset */
            iload 3 /* length */
            invokevirtual com.caucho.hessian.io.Hessian2Output.printString:([CII)V
        31: .line 1105
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int length
        end local 2 // int offset
        end local 1 // char[] buffer
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   32     0    this  Lcom/caucho/hessian/io/Hessian2Output;
            0   32     1  buffer  [C
            0   32     2  offset  I
            0   32     3  length  I
            6   17     4  sublen  I
            9   17     5    tail  C
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      buffer  
      offset  
      length  

  public void writeBytes(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // byte[] buffer
         0: .line 1126
            aload 1 /* buffer */
            ifnonnull 5
         1: .line 1127
            sipush 8192
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 16
            iadd
            if_icmpge 3
         2: .line 1128
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushBuffer:()V
         3: .line 1130
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 78
            bastore
         4: .line 1131
            goto 6
         5: .line 1133
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* buffer */
            iconst_0
            aload 1 /* buffer */
            arraylength
            invokevirtual com.caucho.hessian.io.Hessian2Output.writeBytes:([BII)V
         6: .line 1134
      StackMap locals:
      StackMap stack:
            return
        end local 1 // byte[] buffer
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lcom/caucho/hessian/io/Hessian2Output;
            0    7     1  buffer  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      buffer  

  public void writeBytes(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // byte[] buffer
        start local 2 // int offset
        start local 3 // int length
         0: .line 1155
            aload 1 /* buffer */
            ifnonnull 19
         1: .line 1156
            sipush 8192
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 16
            iadd
            if_icmpge 3
         2: .line 1157
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushBuffer:()V
         3: .line 1159
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 78
            bastore
         4: .line 1160
            goto 34
         5: .line 1163
      StackMap locals:
      StackMap stack:
            sipush 8192
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            isub
            iconst_3
            isub
            istore 4 /* sublen */
        start local 4 // int sublen
         6: .line 1165
            iload 4 /* sublen */
            bipush 16
            if_icmpge 11
         7: .line 1166
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushBuffer:()V
         8: .line 1168
            sipush 8192
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            isub
            iconst_3
            isub
            istore 4 /* sublen */
         9: .line 1170
            iload 3 /* length */
            iload 4 /* sublen */
            if_icmpge 11
        10: .line 1171
            iload 3 /* length */
            istore 4 /* sublen */
        11: .line 1174
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 65
            bastore
        12: .line 1175
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            iload 4 /* sublen */
            bipush 8
            ishr
            i2b
            bastore
        13: .line 1176
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            iload 4 /* sublen */
            i2b
            bastore
        14: .line 1178
            aload 1 /* buffer */
            iload 2 /* offset */
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            iload 4 /* sublen */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        15: .line 1179
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            iload 4 /* sublen */
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
        16: .line 1181
            iload 3 /* length */
            iload 4 /* sublen */
            isub
            istore 3 /* length */
        17: .line 1182
            iload 2 /* offset */
            iload 4 /* sublen */
            iadd
            istore 2 /* offset */
        18: .line 1184
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushBuffer:()V
        end local 4 // int sublen
        19: .line 1162
      StackMap locals:
      StackMap stack:
            sipush 8192
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            isub
            iconst_3
            isub
            iload 3 /* length */
            if_icmplt 5
        20: .line 1187
            sipush 8192
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 16
            iadd
            if_icmpge 22
        21: .line 1188
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushBuffer:()V
        22: .line 1190
      StackMap locals:
      StackMap stack:
            iload 3 /* length */
            bipush 15
            if_icmpgt 25
        23: .line 1191
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 32
            iload 3 /* length */
            iadd
            i2b
            bastore
        24: .line 1192
            goto 32
        25: .line 1193
      StackMap locals:
      StackMap stack:
            iload 3 /* length */
            sipush 1023
            if_icmpgt 29
        26: .line 1194
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 52
            iload 3 /* length */
            bipush 8
            ishr
            iadd
            i2b
            bastore
        27: .line 1195
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            iload 3 /* length */
            i2b
            bastore
        28: .line 1196
            goto 32
        29: .line 1198
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 66
            bastore
        30: .line 1199
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            iload 3 /* length */
            bipush 8
            ishr
            i2b
            bastore
        31: .line 1200
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            iload 3 /* length */
            i2b
            bastore
        32: .line 1203
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            iload 2 /* offset */
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            iload 3 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        33: .line 1205
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            iload 3 /* length */
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
        34: .line 1207
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int length
        end local 2 // int offset
        end local 1 // byte[] buffer
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   35     0    this  Lcom/caucho/hessian/io/Hessian2Output;
            0   35     1  buffer  [B
            0   35     2  offset  I
            0   35     3  length  I
            6   19     4  sublen  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      buffer  
      offset  
      length  

  public void writeByteBufferStart();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // com.caucho.hessian.io.Hessian2Output this
         0: .line 1218
            return
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/caucho/hessian/io/Hessian2Output;
    Exceptions:
      throws java.io.IOException

  public void writeByteBufferPart(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // byte[] buffer
        start local 2 // int offset
        start local 3 // int length
         0: .line 1230
            goto 12
         1: .line 1231
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushIfFull:()V
         2: .line 1233
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            arraylength
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            isub
            istore 4 /* sublen */
        start local 4 // int sublen
         3: .line 1235
            iload 3 /* length */
            iload 4 /* sublen */
            if_icmpge 5
         4: .line 1236
            iload 3 /* length */
            istore 4 /* sublen */
         5: .line 1238
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 65
            bastore
         6: .line 1239
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            iload 4 /* sublen */
            bipush 8
            ishr
            i2b
            bastore
         7: .line 1240
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            iload 4 /* sublen */
            i2b
            bastore
         8: .line 1242
            aload 1 /* buffer */
            iload 2 /* offset */
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            iload 4 /* sublen */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         9: .line 1244
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            iload 4 /* sublen */
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
        10: .line 1245
            iload 3 /* length */
            iload 4 /* sublen */
            isub
            istore 3 /* length */
        11: .line 1246
            iload 2 /* offset */
            iload 4 /* sublen */
            iadd
            istore 2 /* offset */
        end local 4 // int sublen
        12: .line 1230
      StackMap locals:
      StackMap stack:
            iload 3 /* length */
            ifgt 1
        13: .line 1248
            return
        end local 3 // int length
        end local 2 // int offset
        end local 1 // byte[] buffer
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Lcom/caucho/hessian/io/Hessian2Output;
            0   14     1  buffer  [B
            0   14     2  offset  I
            0   14     3  length  I
            3   12     4  sublen  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      buffer  
      offset  
      length  

  public void writeByteBufferEnd(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // byte[] buffer
        start local 2 // int offset
        start local 3 // int length
         0: .line 1260
            aload 0 /* this */
            aload 1 /* buffer */
            iload 2 /* offset */
            iload 3 /* length */
            invokevirtual com.caucho.hessian.io.Hessian2Output.writeBytes:([BII)V
         1: .line 1261
            return
        end local 3 // int length
        end local 2 // int offset
        end local 1 // byte[] buffer
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/caucho/hessian/io/Hessian2Output;
            0    2     1  buffer  [B
            0    2     2  offset  I
            0    2     3  length  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      buffer  
      offset  
      length  

  public java.io.OutputStream getBytesOutputStream();
    descriptor: ()Ljava/io/OutputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.caucho.hessian.io.Hessian2Output this
         0: .line 1269
            new com.caucho.hessian.io.Hessian2Output$BytesOutputStream
            dup
            aload 0 /* this */
            invokespecial com.caucho.hessian.io.Hessian2Output$BytesOutputStream.<init>:(Lcom/caucho/hessian/io/Hessian2Output;)V
            areturn
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/caucho/hessian/io/Hessian2Output;
    Exceptions:
      throws java.io.IOException

  public void writeByteStream(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // java.io.InputStream is
         0: .line 1280
      StackMap locals:
      StackMap stack:
            sipush 8192
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            isub
            iconst_3
            isub
            istore 2 /* len */
        start local 2 // int len
         1: .line 1282
            iload 2 /* len */
            bipush 16
            if_icmpge 4
         2: .line 1283
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushBuffer:()V
         3: .line 1284
            sipush 8192
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            isub
            iconst_3
            isub
            istore 2 /* len */
         4: .line 1287
      StackMap locals: int
      StackMap stack:
            aload 1 /* is */
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            iconst_3
            iadd
            iload 2 /* len */
            invokevirtual java.io.InputStream.read:([BII)I
            istore 2 /* len */
         5: .line 1289
            iload 2 /* len */
            ifgt 8
         6: .line 1290
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 32
            bastore
         7: .line 1291
            return
         8: .line 1294
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            iconst_0
            iadd
            bipush 65
            bastore
         9: .line 1295
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            iconst_1
            iadd
            iload 2 /* len */
            bipush 8
            ishr
            i2b
            bastore
        10: .line 1296
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            iconst_2
            iadd
            iload 2 /* len */
            i2b
            bastore
        11: .line 1298
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            iload 2 /* len */
            iconst_3
            iadd
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
        end local 2 // int len
        12: .line 1279
            goto 0
        end local 1 // java.io.InputStream is
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lcom/caucho/hessian/io/Hessian2Output;
            0   13     1    is  Ljava/io/InputStream;
            1   12     2   len  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      is    

  protected void writeRef(int);
    descriptor: (I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // int value
         0: .line 1315
            sipush 8192
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 16
            iadd
            if_icmpge 2
         1: .line 1316
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushBuffer:()V
         2: .line 1318
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 81
            bastore
         3: .line 1320
            aload 0 /* this */
            iload 1 /* value */
            invokevirtual com.caucho.hessian.io.Hessian2Output.writeInt:(I)V
         4: .line 1321
            return
        end local 1 // int value
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/caucho/hessian/io/Hessian2Output;
            0    5     1  value  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      value  

  public boolean addRef(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // java.lang.Object object
         0: .line 1332
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._isUnshared:Z
            ifeq 3
         1: .line 1333
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._refCount:I
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._refCount:I
         2: .line 1334
            iconst_0
            ireturn
         3: .line 1337
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._refCount:I
            istore 2 /* newRef */
        start local 2 // int newRef
         4: .line 1339
            aload 0 /* this */
            aload 1 /* object */
            iload 2 /* newRef */
            iconst_0
            invokevirtual com.caucho.hessian.io.Hessian2Output.addRef:(Ljava/lang/Object;IZ)I
            istore 3 /* ref */
        start local 3 // int ref
         5: .line 1341
            iload 3 /* ref */
            iload 2 /* newRef */
            if_icmpeq 8
         6: .line 1342
            aload 0 /* this */
            iload 3 /* ref */
            invokevirtual com.caucho.hessian.io.Hessian2Output.writeRef:(I)V
         7: .line 1344
            iconst_1
            ireturn
         8: .line 1347
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._refCount:I
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._refCount:I
         9: .line 1349
            iconst_0
            ireturn
        end local 3 // int ref
        end local 2 // int newRef
        end local 1 // java.lang.Object object
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lcom/caucho/hessian/io/Hessian2Output;
            0   10     1  object  Ljava/lang/Object;
            4   10     2  newRef  I
            5   10     3     ref  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      object  

  public int getRef(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // java.lang.Object obj
         0: .line 1356
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._isUnshared:Z
            ifeq 2
         1: .line 1357
            iconst_m1
            ireturn
         2: .line 1359
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._refs:Lcom/caucho/hessian/util/IdentityIntMap;
            aload 1 /* obj */
            invokevirtual com.caucho.hessian.util.IdentityIntMap.get:(Ljava/lang/Object;)I
            ireturn
        end local 1 // java.lang.Object obj
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/caucho/hessian/io/Hessian2Output;
            0    3     1   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  public boolean removeRef(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // java.lang.Object obj
         0: .line 1369
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._isUnshared:Z
            ifeq 2
         1: .line 1370
            iconst_0
            ireturn
         2: .line 1372
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._refs:Lcom/caucho/hessian/util/IdentityIntMap;
            ifnull 5
         3: .line 1373
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._refs:Lcom/caucho/hessian/util/IdentityIntMap;
            aload 1 /* obj */
            invokevirtual com.caucho.hessian.util.IdentityIntMap.remove:(Ljava/lang/Object;)V
         4: .line 1375
            iconst_1
            ireturn
         5: .line 1378
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object obj
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/caucho/hessian/io/Hessian2Output;
            0    6     1   obj  Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      obj   

  public boolean replaceRef(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // java.lang.Object oldRef
        start local 2 // java.lang.Object newRef
         0: .line 1388
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._isUnshared:Z
            ifeq 2
         1: .line 1389
            iconst_0
            ireturn
         2: .line 1392
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._refs:Lcom/caucho/hessian/util/IdentityIntMap;
            aload 1 /* oldRef */
            invokevirtual com.caucho.hessian.util.IdentityIntMap.get:(Ljava/lang/Object;)I
            istore 3 /* value */
        start local 3 // int value
         3: .line 1394
            iload 3 /* value */
            iflt 7
         4: .line 1395
            aload 0 /* this */
            aload 2 /* newRef */
            iload 3 /* value */
            iconst_1
            invokevirtual com.caucho.hessian.io.Hessian2Output.addRef:(Ljava/lang/Object;IZ)I
            pop
         5: .line 1397
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._refs:Lcom/caucho/hessian/util/IdentityIntMap;
            aload 1 /* oldRef */
            invokevirtual com.caucho.hessian.util.IdentityIntMap.remove:(Ljava/lang/Object;)V
         6: .line 1399
            iconst_1
            ireturn
         7: .line 1402
      StackMap locals: int
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // int value
        end local 2 // java.lang.Object newRef
        end local 1 // java.lang.Object oldRef
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lcom/caucho/hessian/io/Hessian2Output;
            0    8     1  oldRef  Ljava/lang/Object;
            0    8     2  newRef  Ljava/lang/Object;
            3    8     3   value  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      oldRef  
      newRef  

  private int addRef(java.lang.Object, int, boolean);
    descriptor: (Ljava/lang/Object;IZ)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // java.lang.Object value
        start local 2 // int newRef
        start local 3 // boolean isReplace
         0: .line 1407
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._refs:Lcom/caucho/hessian/util/IdentityIntMap;
            aload 1 /* value */
            iload 2 /* newRef */
            iload 3 /* isReplace */
            invokevirtual com.caucho.hessian.util.IdentityIntMap.put:(Ljava/lang/Object;IZ)I
            istore 4 /* prevRef */
        start local 4 // int prevRef
         1: .line 1409
            iload 4 /* prevRef */
            ireturn
        end local 4 // int prevRef
        end local 3 // boolean isReplace
        end local 2 // int newRef
        end local 1 // java.lang.Object value
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/caucho/hessian/io/Hessian2Output;
            0    2     1      value  Ljava/lang/Object;
            0    2     2     newRef  I
            0    2     3  isReplace  Z
            1    2     4    prevRef  I
    MethodParameters:
           Name  Flags
      value      
      newRef     
      isReplace  

  public void writeStreamingObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // java.lang.Object obj
         0: .line 1424
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.startPacket:()V
         1: .line 1426
            aload 0 /* this */
            aload 1 /* obj */
            invokevirtual com.caucho.hessian.io.Hessian2Output.writeObject:(Ljava/lang/Object;)V
         2: .line 1428
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.endPacket:()V
         3: .line 1429
            return
        end local 1 // java.lang.Object obj
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/caucho/hessian/io/Hessian2Output;
            0    4     1   obj  Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      obj   

  public void startPacket();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.caucho.hessian.io.Hessian2Output this
         0: .line 1441
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._refs:Lcom/caucho/hessian/util/IdentityIntMap;
            ifnull 3
         1: .line 1442
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._refs:Lcom/caucho/hessian/util/IdentityIntMap;
            invokevirtual com.caucho.hessian.util.IdentityIntMap.clear:()V
         2: .line 1443
            aload 0 /* this */
            iconst_0
            putfield com.caucho.hessian.io.Hessian2Output._refCount:I
         3: .line 1446
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushBuffer:()V
         4: .line 1448
            aload 0 /* this */
            iconst_1
            putfield com.caucho.hessian.io.Hessian2Output._isPacket:Z
         5: .line 1449
            aload 0 /* this */
            iconst_4
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
         6: .line 1450
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            iconst_0
            iconst_5
            bastore
         7: .line 1451
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            iconst_1
            bipush 85
            bastore
         8: .line 1452
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            iconst_2
            bipush 85
            bastore
         9: .line 1453
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            iconst_3
            bipush 85
            bastore
        10: .line 1454
            return
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lcom/caucho/hessian/io/Hessian2Output;
    Exceptions:
      throws java.io.IOException

  public void endPacket();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // com.caucho.hessian.io.Hessian2Output this
         0: .line 1459
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            istore 1 /* offset */
        start local 1 // int offset
         1: .line 1461
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._os:Ljava/io/OutputStream;
            astore 2 /* os */
        start local 2 // java.io.OutputStream os
         2: .line 1463
            aload 2 /* os */
            ifnonnull 5
         3: .line 1464
            aload 0 /* this */
            iconst_0
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
         4: .line 1465
            return
         5: .line 1468
      StackMap locals: int java.io.OutputStream
      StackMap stack:
            iload 1 /* offset */
            iconst_4
            isub
            istore 3 /* len */
        start local 3 // int len
         6: .line 1470
            iload 3 /* len */
            bipush 126
            if_icmpge 10
         7: .line 1471
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            iconst_2
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            iconst_0
            baload
            bastore
         8: .line 1472
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            iconst_3
            iload 3 /* len */
            i2b
            bastore
         9: .line 1473
            goto 13
        10: .line 1474
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            iconst_1
            bipush 126
            bastore
        11: .line 1475
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            iconst_2
            iload 3 /* len */
            bipush 8
            ishr
            i2b
            bastore
        12: .line 1476
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            iconst_3
            iload 3 /* len */
            i2b
            bastore
        13: .line 1479
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield com.caucho.hessian.io.Hessian2Output._isPacket:Z
        14: .line 1480
            aload 0 /* this */
            iconst_0
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
        15: .line 1482
            aload 2 /* os */
            ifnull 20
        16: .line 1484
            iload 3 /* len */
            bipush 126
            if_icmpge 19
        17: .line 1485
            aload 2 /* os */
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            iconst_2
            iload 1 /* offset */
            iconst_2
            isub
            invokevirtual java.io.OutputStream.write:([BII)V
        18: .line 1486
            goto 20
        19: .line 1488
      StackMap locals:
      StackMap stack:
            aload 2 /* os */
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            iconst_0
            iload 1 /* offset */
            invokevirtual java.io.OutputStream.write:([BII)V
        20: .line 1490
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int len
        end local 2 // java.io.OutputStream os
        end local 1 // int offset
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   21     0    this  Lcom/caucho/hessian/io/Hessian2Output;
            1   21     1  offset  I
            2   21     2      os  Ljava/io/OutputStream;
            6   21     3     len  I
    Exceptions:
      throws java.io.IOException

  public void printLenString(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // java.lang.String v
         0: .line 1500
            sipush 8192
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            bipush 16
            iadd
            if_icmpge 2
         1: .line 1501
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushBuffer:()V
         2: .line 1503
      StackMap locals:
      StackMap stack:
            aload 1 /* v */
            ifnonnull 6
         3: .line 1504
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            iconst_0
            bastore
         4: .line 1505
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            iconst_0
            bastore
         5: .line 1506
            goto 10
         6: .line 1508
      StackMap locals:
      StackMap stack:
            aload 1 /* v */
            invokevirtual java.lang.String.length:()I
            istore 2 /* len */
        start local 2 // int len
         7: .line 1509
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            iload 2 /* len */
            bipush 8
            ishr
            i2b
            bastore
         8: .line 1510
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            aload 0 /* this */
            dup
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            dup_x1
            iconst_1
            iadd
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
            iload 2 /* len */
            i2b
            bastore
         9: .line 1512
            aload 0 /* this */
            aload 1 /* v */
            iconst_0
            iload 2 /* len */
            invokevirtual com.caucho.hessian.io.Hessian2Output.printString:(Ljava/lang/String;II)V
        end local 2 // int len
        10: .line 1514
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String v
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lcom/caucho/hessian/io/Hessian2Output;
            0   11     1     v  Ljava/lang/String;
            7   10     2   len  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      v     

  public void printString(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // java.lang.String v
         0: .line 1524
            aload 0 /* this */
            aload 1 /* v */
            iconst_0
            aload 1 /* v */
            invokevirtual java.lang.String.length:()I
            invokevirtual com.caucho.hessian.io.Hessian2Output.printString:(Ljava/lang/String;II)V
         1: .line 1525
            return
        end local 1 // java.lang.String v
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/caucho/hessian/io/Hessian2Output;
            0    2     1     v  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      v     

  public void printString(java.lang.String, int, int);
    descriptor: (Ljava/lang/String;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // java.lang.String v
        start local 2 // int strOffset
        start local 3 // int length
         0: .line 1535
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            istore 4 /* offset */
        start local 4 // int offset
         1: .line 1536
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            astore 5 /* buffer */
        start local 5 // byte[] buffer
         2: .line 1538
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         3: goto 19
         4: .line 1539
      StackMap locals: int byte[] int
      StackMap stack:
            sipush 8192
            iload 4 /* offset */
            bipush 16
            iadd
            if_icmpgt 8
         5: .line 1540
            aload 0 /* this */
            iload 4 /* offset */
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
         6: .line 1541
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushBuffer:()V
         7: .line 1542
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            istore 4 /* offset */
         8: .line 1545
      StackMap locals:
      StackMap stack:
            aload 1 /* v */
            iload 6 /* i */
            iload 2 /* strOffset */
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            istore 7 /* ch */
        start local 7 // char ch
         9: .line 1547
            iload 7 /* ch */
            sipush 128
            if_icmpge 11
        10: .line 1548
            aload 5 /* buffer */
            iload 4 /* offset */
            iinc 4 /* offset */ 1
            iload 7 /* ch */
            i2b
            bastore
            goto 18
        11: .line 1549
      StackMap locals: int
      StackMap stack:
            iload 7 /* ch */
            sipush 2048
            if_icmpge 15
        12: .line 1550
            aload 5 /* buffer */
            iload 4 /* offset */
            iinc 4 /* offset */ 1
            sipush 192
            iload 7 /* ch */
            bipush 6
            ishr
            bipush 31
            iand
            iadd
            i2b
            bastore
        13: .line 1551
            aload 5 /* buffer */
            iload 4 /* offset */
            iinc 4 /* offset */ 1
            sipush 128
            iload 7 /* ch */
            bipush 63
            iand
            iadd
            i2b
            bastore
        14: .line 1552
            goto 18
        15: .line 1554
      StackMap locals:
      StackMap stack:
            aload 5 /* buffer */
            iload 4 /* offset */
            iinc 4 /* offset */ 1
            sipush 224
            iload 7 /* ch */
            bipush 12
            ishr
            bipush 15
            iand
            iadd
            i2b
            bastore
        16: .line 1555
            aload 5 /* buffer */
            iload 4 /* offset */
            iinc 4 /* offset */ 1
            sipush 128
            iload 7 /* ch */
            bipush 6
            ishr
            bipush 63
            iand
            iadd
            i2b
            bastore
        17: .line 1556
            aload 5 /* buffer */
            iload 4 /* offset */
            iinc 4 /* offset */ 1
            sipush 128
            iload 7 /* ch */
            bipush 63
            iand
            iadd
            i2b
            bastore
        end local 7 // char ch
        18: .line 1538
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 6 /* i */
            iload 3 /* length */
            if_icmplt 4
        end local 6 // int i
        20: .line 1560
            aload 0 /* this */
            iload 4 /* offset */
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
        21: .line 1561
            return
        end local 5 // byte[] buffer
        end local 4 // int offset
        end local 3 // int length
        end local 2 // int strOffset
        end local 1 // java.lang.String v
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   22     0       this  Lcom/caucho/hessian/io/Hessian2Output;
            0   22     1          v  Ljava/lang/String;
            0   22     2  strOffset  I
            0   22     3     length  I
            1   22     4     offset  I
            2   22     5     buffer  [B
            3   20     6          i  I
            9   18     7         ch  C
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      v          
      strOffset  
      length     

  public void printString(char[], int, int);
    descriptor: ([CII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // com.caucho.hessian.io.Hessian2Output this
        start local 1 // char[] v
        start local 2 // int strOffset
        start local 3 // int length
         0: .line 1571
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            istore 4 /* offset */
        start local 4 // int offset
         1: .line 1572
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            astore 5 /* buffer */
        start local 5 // byte[] buffer
         2: .line 1574
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         3: goto 19
         4: .line 1575
      StackMap locals: int byte[] int
      StackMap stack:
            sipush 8192
            iload 4 /* offset */
            bipush 16
            iadd
            if_icmpgt 8
         5: .line 1576
            aload 0 /* this */
            iload 4 /* offset */
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
         6: .line 1577
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushBuffer:()V
         7: .line 1578
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            istore 4 /* offset */
         8: .line 1581
      StackMap locals:
      StackMap stack:
            aload 1 /* v */
            iload 6 /* i */
            iload 2 /* strOffset */
            iadd
            caload
            istore 7 /* ch */
        start local 7 // char ch
         9: .line 1583
            iload 7 /* ch */
            sipush 128
            if_icmpge 11
        10: .line 1584
            aload 5 /* buffer */
            iload 4 /* offset */
            iinc 4 /* offset */ 1
            iload 7 /* ch */
            i2b
            bastore
            goto 18
        11: .line 1585
      StackMap locals: int
      StackMap stack:
            iload 7 /* ch */
            sipush 2048
            if_icmpge 15
        12: .line 1586
            aload 5 /* buffer */
            iload 4 /* offset */
            iinc 4 /* offset */ 1
            sipush 192
            iload 7 /* ch */
            bipush 6
            ishr
            bipush 31
            iand
            iadd
            i2b
            bastore
        13: .line 1587
            aload 5 /* buffer */
            iload 4 /* offset */
            iinc 4 /* offset */ 1
            sipush 128
            iload 7 /* ch */
            bipush 63
            iand
            iadd
            i2b
            bastore
        14: .line 1588
            goto 18
        15: .line 1590
      StackMap locals:
      StackMap stack:
            aload 5 /* buffer */
            iload 4 /* offset */
            iinc 4 /* offset */ 1
            sipush 224
            iload 7 /* ch */
            bipush 12
            ishr
            bipush 15
            iand
            iadd
            i2b
            bastore
        16: .line 1591
            aload 5 /* buffer */
            iload 4 /* offset */
            iinc 4 /* offset */ 1
            sipush 128
            iload 7 /* ch */
            bipush 6
            ishr
            bipush 63
            iand
            iadd
            i2b
            bastore
        17: .line 1592
            aload 5 /* buffer */
            iload 4 /* offset */
            iinc 4 /* offset */ 1
            sipush 128
            iload 7 /* ch */
            bipush 63
            iand
            iadd
            i2b
            bastore
        end local 7 // char ch
        18: .line 1574
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 6 /* i */
            iload 3 /* length */
            if_icmplt 4
        end local 6 // int i
        20: .line 1596
            aload 0 /* this */
            iload 4 /* offset */
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
        21: .line 1597
            return
        end local 5 // byte[] buffer
        end local 4 // int offset
        end local 3 // int length
        end local 2 // int strOffset
        end local 1 // char[] v
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   22     0       this  Lcom/caucho/hessian/io/Hessian2Output;
            0   22     1          v  [C
            0   22     2  strOffset  I
            0   22     3     length  I
            1   22     4     offset  I
            2   22     5     buffer  [B
            3   20     6          i  I
            9   18     7         ch  C
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      v          
      strOffset  
      length     

  private final void flushIfFull();
    descriptor: ()V
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.caucho.hessian.io.Hessian2Output this
         0: .line 1602
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            istore 1 /* offset */
        start local 1 // int offset
         1: .line 1604
            sipush 8192
            iload 1 /* offset */
            bipush 32
            iadd
            if_icmpge 3
         2: .line 1605
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushBuffer:()V
         3: .line 1607
      StackMap locals: int
      StackMap stack:
            return
        end local 1 // int offset
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lcom/caucho/hessian/io/Hessian2Output;
            1    4     1  offset  I
    Exceptions:
      throws java.io.IOException

  public final void flush();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.caucho.hessian.io.Hessian2Output this
         0: .line 1612
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flushBuffer:()V
         1: .line 1614
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._os:Ljava/io/OutputStream;
            ifnull 3
         2: .line 1615
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._os:Ljava/io/OutputStream;
            invokevirtual java.io.OutputStream.flush:()V
         3: .line 1616
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/caucho/hessian/io/Hessian2Output;
    Exceptions:
      throws java.io.IOException

  public final void flushBuffer();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // com.caucho.hessian.io.Hessian2Output this
         0: .line 1621
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._offset:I
            istore 1 /* offset */
        start local 1 // int offset
         1: .line 1623
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._os:Ljava/io/OutputStream;
            astore 2 /* os */
        start local 2 // java.io.OutputStream os
         2: .line 1625
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._isPacket:Z
            ifne 7
            iload 1 /* offset */
            ifle 7
         3: .line 1626
            aload 0 /* this */
            iconst_0
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
         4: .line 1627
            aload 2 /* os */
            ifnull 20
         5: .line 1628
            aload 2 /* os */
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            iconst_0
            iload 1 /* offset */
            invokevirtual java.io.OutputStream.write:([BII)V
         6: .line 1629
            goto 20
         7: .line 1630
      StackMap locals: int java.io.OutputStream
      StackMap stack:
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._isPacket:Z
            ifeq 20
            iload 1 /* offset */
            iconst_4
            if_icmple 20
         8: .line 1631
            iload 1 /* offset */
            iconst_4
            isub
            istore 3 /* len */
        start local 3 // int len
         9: .line 1633
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            iconst_0
            dup2
            baload
            bipush -128
            ior
            i2b
            bastore
        10: .line 1634
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            iconst_1
            bipush 126
            bastore
        11: .line 1635
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            iconst_2
            iload 3 /* len */
            bipush 8
            ishr
            i2b
            bastore
        12: .line 1636
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            iconst_3
            iload 3 /* len */
            i2b
            bastore
        13: .line 1637
            aload 0 /* this */
            iconst_4
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
        14: .line 1639
            aload 2 /* os */
            ifnull 16
        15: .line 1640
            aload 2 /* os */
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            iconst_0
            iload 1 /* offset */
            invokevirtual java.io.OutputStream.write:([BII)V
        16: .line 1642
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            iconst_0
            iconst_0
            bastore
        17: .line 1643
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            iconst_1
            bipush 86
            bastore
        18: .line 1644
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            iconst_2
            bipush 86
            bastore
        19: .line 1645
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._buffer:[B
            iconst_3
            bipush 86
            bastore
        end local 3 // int len
        20: .line 1647
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.io.OutputStream os
        end local 1 // int offset
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   21     0    this  Lcom/caucho/hessian/io/Hessian2Output;
            1   21     1  offset  I
            2   21     2      os  Ljava/io/OutputStream;
            9   20     3     len  I
    Exceptions:
      throws java.io.IOException

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.caucho.hessian.io.Hessian2Output this
         0: .line 1654
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.flush:()V
         1: .line 1656
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._os:Ljava/io/OutputStream;
            astore 1 /* os */
        start local 1 // java.io.OutputStream os
         2: .line 1657
            aload 0 /* this */
            aconst_null
            putfield com.caucho.hessian.io.Hessian2Output._os:Ljava/io/OutputStream;
         3: .line 1659
            aload 1 /* os */
            ifnull 6
         4: .line 1660
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._isCloseStreamOnClose:Z
            ifeq 6
         5: .line 1661
            aload 1 /* os */
            invokevirtual java.io.OutputStream.close:()V
         6: .line 1663
      StackMap locals: java.io.OutputStream
      StackMap stack:
            return
        end local 1 // java.io.OutputStream os
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/caucho/hessian/io/Hessian2Output;
            2    7     1    os  Ljava/io/OutputStream;
    Exceptions:
      throws java.io.IOException

  public void free();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.caucho.hessian.io.Hessian2Output this
         0: .line 1667
            aload 0 /* this */
            invokevirtual com.caucho.hessian.io.Hessian2Output.reset:()V
         1: .line 1669
            aload 0 /* this */
            aconst_null
            putfield com.caucho.hessian.io.Hessian2Output._os:Ljava/io/OutputStream;
         2: .line 1670
            aload 0 /* this */
            iconst_0
            putfield com.caucho.hessian.io.Hessian2Output._isCloseStreamOnClose:Z
         3: .line 1671
            return
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/caucho/hessian/io/Hessian2Output;

  public void resetReferences();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.caucho.hessian.io.Hessian2Output this
         0: .line 1679
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._refs:Lcom/caucho/hessian/util/IdentityIntMap;
            ifnull 3
         1: .line 1680
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._refs:Lcom/caucho/hessian/util/IdentityIntMap;
            invokevirtual com.caucho.hessian.util.IdentityIntMap.clear:()V
         2: .line 1681
            aload 0 /* this */
            iconst_0
            putfield com.caucho.hessian.io.Hessian2Output._refCount:I
         3: .line 1683
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/caucho/hessian/io/Hessian2Output;

  public void reset();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.caucho.hessian.io.Hessian2Output this
         0: .line 1690
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._refs:Lcom/caucho/hessian/util/IdentityIntMap;
            ifnull 3
         1: .line 1691
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._refs:Lcom/caucho/hessian/util/IdentityIntMap;
            invokevirtual com.caucho.hessian.util.IdentityIntMap.clear:()V
         2: .line 1692
            aload 0 /* this */
            iconst_0
            putfield com.caucho.hessian.io.Hessian2Output._refCount:I
         3: .line 1695
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.caucho.hessian.io.Hessian2Output._classRefs:Lcom/caucho/hessian/util/IdentityIntMap;
            invokevirtual com.caucho.hessian.util.IdentityIntMap.clear:()V
         4: .line 1696
            aload 0 /* this */
            aconst_null
            putfield com.caucho.hessian.io.Hessian2Output._typeRefs:Ljava/util/HashMap;
         5: .line 1697
            aload 0 /* this */
            iconst_0
            putfield com.caucho.hessian.io.Hessian2Output._offset:I
         6: .line 1698
            aload 0 /* this */
            iconst_0
            putfield com.caucho.hessian.io.Hessian2Output._isPacket:Z
         7: .line 1699
            aload 0 /* this */
            iconst_0
            putfield com.caucho.hessian.io.Hessian2Output._isUnshared:Z
         8: .line 1700
            return
        end local 0 // com.caucho.hessian.io.Hessian2Output this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/caucho/hessian/io/Hessian2Output;
}
SourceFile: "Hessian2Output.java"
NestMembers:
  com.caucho.hessian.io.Hessian2Output$BytesOutputStream
InnerClasses:
  BytesOutputStream = com.caucho.hessian.io.Hessian2Output$BytesOutputStream of com.caucho.hessian.io.Hessian2Output