public abstract class org.bson.io.OutputBuffer extends java.io.OutputStream implements org.bson.io.BsonOutput
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.bson.io.OutputBuffer
  super_class: java.io.OutputStream
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bson.io.OutputBuffer this
         0: .line 33
            aload 0 /* this */
            invokespecial java.io.OutputStream.<init>:()V
            return
        end local 0 // org.bson.io.OutputBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/io/OutputBuffer;

  public void write(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.bson.io.OutputBuffer this
        start local 1 // byte[] b
         0: .line 37
            aload 0 /* this */
            aload 1 /* b */
            iconst_0
            aload 1 /* b */
            arraylength
            invokevirtual org.bson.io.OutputBuffer.write:([BII)V
         1: .line 38
            return
        end local 1 // byte[] b
        end local 0 // org.bson.io.OutputBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bson/io/OutputBuffer;
            0    2     1     b  [B
    MethodParameters:
      Name  Flags
      b     final

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.bson.io.OutputBuffer this
         0: .line 42
            return
        end local 0 // org.bson.io.OutputBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/io/OutputBuffer;

  public void write(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.bson.io.OutputBuffer this
        start local 1 // byte[] bytes
        start local 2 // int offset
        start local 3 // int length
         0: .line 46
            aload 0 /* this */
            aload 1 /* bytes */
            iload 2 /* offset */
            iload 3 /* length */
            invokevirtual org.bson.io.OutputBuffer.writeBytes:([BII)V
         1: .line 47
            return
        end local 3 // int length
        end local 2 // int offset
        end local 1 // byte[] bytes
        end local 0 // org.bson.io.OutputBuffer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/bson/io/OutputBuffer;
            0    2     1   bytes  [B
            0    2     2  offset  I
            0    2     3  length  I
    MethodParameters:
        Name  Flags
      bytes   final
      offset  final
      length  final

  public void writeBytes(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.bson.io.OutputBuffer this
        start local 1 // byte[] bytes
         0: .line 51
            aload 0 /* this */
            aload 1 /* bytes */
            iconst_0
            aload 1 /* bytes */
            arraylength
            invokevirtual org.bson.io.OutputBuffer.writeBytes:([BII)V
         1: .line 52
            return
        end local 1 // byte[] bytes
        end local 0 // org.bson.io.OutputBuffer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/bson/io/OutputBuffer;
            0    2     1  bytes  [B
    MethodParameters:
       Name  Flags
      bytes  final

  public void writeInt32(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.bson.io.OutputBuffer this
        start local 1 // int value
         0: .line 56
            aload 0 /* this */
            iload 1 /* value */
            iconst_0
            ishr
            invokevirtual org.bson.io.OutputBuffer.write:(I)V
         1: .line 57
            aload 0 /* this */
            iload 1 /* value */
            bipush 8
            ishr
            invokevirtual org.bson.io.OutputBuffer.write:(I)V
         2: .line 58
            aload 0 /* this */
            iload 1 /* value */
            bipush 16
            ishr
            invokevirtual org.bson.io.OutputBuffer.write:(I)V
         3: .line 59
            aload 0 /* this */
            iload 1 /* value */
            bipush 24
            ishr
            invokevirtual org.bson.io.OutputBuffer.write:(I)V
         4: .line 60
            return
        end local 1 // int value
        end local 0 // org.bson.io.OutputBuffer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/bson/io/OutputBuffer;
            0    5     1  value  I
    MethodParameters:
       Name  Flags
      value  final

  public void writeInt32(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.bson.io.OutputBuffer this
        start local 1 // int position
        start local 2 // int value
         0: .line 64
            aload 0 /* this */
            iload 1 /* position */
            iload 2 /* value */
            iconst_0
            ishr
            invokevirtual org.bson.io.OutputBuffer.write:(II)V
         1: .line 65
            aload 0 /* this */
            iload 1 /* position */
            iconst_1
            iadd
            iload 2 /* value */
            bipush 8
            ishr
            invokevirtual org.bson.io.OutputBuffer.write:(II)V
         2: .line 66
            aload 0 /* this */
            iload 1 /* position */
            iconst_2
            iadd
            iload 2 /* value */
            bipush 16
            ishr
            invokevirtual org.bson.io.OutputBuffer.write:(II)V
         3: .line 67
            aload 0 /* this */
            iload 1 /* position */
            iconst_3
            iadd
            iload 2 /* value */
            bipush 24
            ishr
            invokevirtual org.bson.io.OutputBuffer.write:(II)V
         4: .line 68
            return
        end local 2 // int value
        end local 1 // int position
        end local 0 // org.bson.io.OutputBuffer this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/bson/io/OutputBuffer;
            0    5     1  position  I
            0    5     2     value  I
    MethodParameters:
          Name  Flags
      position  final
      value     final

  public void writeInt64(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // org.bson.io.OutputBuffer this
        start local 1 // long value
         0: .line 72
            aload 0 /* this */
            ldc 255
            lload 1 /* value */
            iconst_0
            lshr
            land
            l2i
            i2b
            invokevirtual org.bson.io.OutputBuffer.write:(I)V
         1: .line 73
            aload 0 /* this */
            ldc 255
            lload 1 /* value */
            bipush 8
            lshr
            land
            l2i
            i2b
            invokevirtual org.bson.io.OutputBuffer.write:(I)V
         2: .line 74
            aload 0 /* this */
            ldc 255
            lload 1 /* value */
            bipush 16
            lshr
            land
            l2i
            i2b
            invokevirtual org.bson.io.OutputBuffer.write:(I)V
         3: .line 75
            aload 0 /* this */
            ldc 255
            lload 1 /* value */
            bipush 24
            lshr
            land
            l2i
            i2b
            invokevirtual org.bson.io.OutputBuffer.write:(I)V
         4: .line 76
            aload 0 /* this */
            ldc 255
            lload 1 /* value */
            bipush 32
            lshr
            land
            l2i
            i2b
            invokevirtual org.bson.io.OutputBuffer.write:(I)V
         5: .line 77
            aload 0 /* this */
            ldc 255
            lload 1 /* value */
            bipush 40
            lshr
            land
            l2i
            i2b
            invokevirtual org.bson.io.OutputBuffer.write:(I)V
         6: .line 78
            aload 0 /* this */
            ldc 255
            lload 1 /* value */
            bipush 48
            lshr
            land
            l2i
            i2b
            invokevirtual org.bson.io.OutputBuffer.write:(I)V
         7: .line 79
            aload 0 /* this */
            ldc 255
            lload 1 /* value */
            bipush 56
            lshr
            land
            l2i
            i2b
            invokevirtual org.bson.io.OutputBuffer.write:(I)V
         8: .line 80
            return
        end local 1 // long value
        end local 0 // org.bson.io.OutputBuffer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lorg/bson/io/OutputBuffer;
            0    9     1  value  J
    MethodParameters:
       Name  Flags
      value  final

  public void writeDouble(double);
    descriptor: (D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.bson.io.OutputBuffer this
        start local 1 // double x
         0: .line 84
            aload 0 /* this */
            dload 1 /* x */
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            invokevirtual org.bson.io.OutputBuffer.writeLong:(J)V
         1: .line 85
            return
        end local 1 // double x
        end local 0 // org.bson.io.OutputBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bson/io/OutputBuffer;
            0    2     1     x  D
    MethodParameters:
      Name  Flags
      x     final

  public void writeString(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.bson.io.OutputBuffer this
        start local 1 // java.lang.String str
         0: .line 89
            aload 0 /* this */
            iconst_0
            invokevirtual org.bson.io.OutputBuffer.writeInt:(I)V
         1: .line 90
            aload 0 /* this */
            aload 1 /* str */
            iconst_0
            invokevirtual org.bson.io.OutputBuffer.writeCharacters:(Ljava/lang/String;Z)I
            istore 2 /* strLen */
        start local 2 // int strLen
         2: .line 91
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.bson.io.OutputBuffer.getPosition:()I
            iload 2 /* strLen */
            isub
            iconst_4
            isub
            iload 2 /* strLen */
            invokevirtual org.bson.io.OutputBuffer.writeInt32:(II)V
         3: .line 92
            return
        end local 2 // int strLen
        end local 1 // java.lang.String str
        end local 0 // org.bson.io.OutputBuffer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/bson/io/OutputBuffer;
            0    4     1     str  Ljava/lang/String;
            2    4     2  strLen  I
    MethodParameters:
      Name  Flags
      str   final

  public void writeCString(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.bson.io.OutputBuffer this
        start local 1 // java.lang.String value
         0: .line 96
            aload 0 /* this */
            aload 1 /* value */
            iconst_1
            invokevirtual org.bson.io.OutputBuffer.writeCharacters:(Ljava/lang/String;Z)I
            pop
         1: .line 97
            return
        end local 1 // java.lang.String value
        end local 0 // org.bson.io.OutputBuffer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/bson/io/OutputBuffer;
            0    2     1  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      value  final

  public void writeObjectId(org.bson.types.ObjectId);
    descriptor: (Lorg/bson/types/ObjectId;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.io.OutputBuffer this
        start local 1 // org.bson.types.ObjectId value
         0: .line 101
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.bson.types.ObjectId.toByteArray:()[B
            invokevirtual org.bson.io.OutputBuffer.write:([B)V
         1: .line 102
            return
        end local 1 // org.bson.types.ObjectId value
        end local 0 // org.bson.io.OutputBuffer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/bson/io/OutputBuffer;
            0    2     1  value  Lorg/bson/types/ObjectId;
    MethodParameters:
       Name  Flags
      value  final

  public int size();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bson.io.OutputBuffer this
         0: .line 109
            aload 0 /* this */
            invokevirtual org.bson.io.OutputBuffer.getSize:()I
            ireturn
        end local 0 // org.bson.io.OutputBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/io/OutputBuffer;

  public abstract int pipe(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      out   

  public abstract java.util.List<org.bson.ByteBuf> getByteBuffers();
    descriptor: ()Ljava/util/List;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/List<Lorg/bson/ByteBuf;>;

  public abstract void truncateToPosition(int);
    descriptor: (I)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      newPosition  

  public byte[] toByteArray();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.bson.io.OutputBuffer this
         0: .line 140
            new java.io.ByteArrayOutputStream
            dup
            aload 0 /* this */
            invokevirtual org.bson.io.OutputBuffer.size:()I
            invokespecial java.io.ByteArrayOutputStream.<init>:(I)V
            astore 1 /* bout */
        start local 1 // java.io.ByteArrayOutputStream bout
         1: .line 141
            aload 0 /* this */
            aload 1 /* bout */
            invokevirtual org.bson.io.OutputBuffer.pipe:(Ljava/io/OutputStream;)I
            pop
         2: .line 142
            aload 1 /* bout */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
         3: areturn
        end local 1 // java.io.ByteArrayOutputStream bout
         4: .line 143
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 1 /* ioe */
        start local 1 // java.io.IOException ioe
         5: .line 144
            new java.lang.RuntimeException
            dup
            ldc "should be impossible"
            aload 1 /* ioe */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.io.IOException ioe
        end local 0 // org.bson.io.OutputBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/bson/io/OutputBuffer;
            1    4     1  bout  Ljava/io/ByteArrayOutputStream;
            5    6     1   ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     3       4  Class java.io.IOException

  public void write(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.io.OutputBuffer this
        start local 1 // int value
         0: .line 150
            aload 0 /* this */
            iload 1 /* value */
            invokevirtual org.bson.io.OutputBuffer.writeByte:(I)V
         1: .line 151
            return
        end local 1 // int value
        end local 0 // org.bson.io.OutputBuffer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/bson/io/OutputBuffer;
            0    2     1  value  I
    MethodParameters:
       Name  Flags
      value  final

  public void writeInt(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.io.OutputBuffer this
        start local 1 // int value
         0: .line 160
            aload 0 /* this */
            iload 1 /* value */
            invokevirtual org.bson.io.OutputBuffer.writeInt32:(I)V
         1: .line 161
            return
        end local 1 // int value
        end local 0 // org.bson.io.OutputBuffer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/bson/io/OutputBuffer;
            0    2     1  value  I
    MethodParameters:
       Name  Flags
      value  final

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.bson.io.OutputBuffer this
         0: .line 165
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " size: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.bson.io.OutputBuffer.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " pos: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.bson.io.OutputBuffer.getPosition:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.bson.io.OutputBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/io/OutputBuffer;

  protected abstract void write(int, int);
    descriptor: (II)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      position  
      value     

  public void writeLong(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.bson.io.OutputBuffer this
        start local 1 // long value
         0: .line 183
            aload 0 /* this */
            lload 1 /* value */
            invokevirtual org.bson.io.OutputBuffer.writeInt64:(J)V
         1: .line 184
            return
        end local 1 // long value
        end local 0 // org.bson.io.OutputBuffer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/bson/io/OutputBuffer;
            0    2     1  value  J
    MethodParameters:
       Name  Flags
      value  final

  private int writeCharacters(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=3
        start local 0 // org.bson.io.OutputBuffer this
        start local 1 // java.lang.String str
        start local 2 // boolean checkForNullCharacters
         0: .line 187
            aload 1 /* str */
            invokevirtual java.lang.String.length:()I
            istore 3 /* len */
        start local 3 // int len
         1: .line 188
            iconst_0
            istore 4 /* total */
        start local 4 // int total
         2: .line 190
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 30
         4: .line 191
      StackMap locals: int int int
      StackMap stack:
            aload 1 /* str */
            iload 5 /* i */
            invokestatic java.lang.Character.codePointAt:(Ljava/lang/CharSequence;I)I
            istore 6 /* c */
        start local 6 // int c
         5: .line 193
            iload 2 /* checkForNullCharacters */
            ifeq 9
            iload 6 /* c */
            ifne 9
         6: .line 194
            new org.bson.BsonSerializationException
            dup
            ldc "BSON cstring '%s' is not valid because it contains a null character at index %d"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         7: .line 195
            aload 1 /* str */
            aastore
            dup
            iconst_1
            iload 5 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         8: .line 194
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial org.bson.BsonSerializationException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 197
      StackMap locals: int
      StackMap stack:
            iload 6 /* c */
            sipush 128
            if_icmpge 13
        10: .line 198
            aload 0 /* this */
            iload 6 /* c */
            i2b
            invokevirtual org.bson.io.OutputBuffer.write:(I)V
        11: .line 199
            iinc 4 /* total */ 1
        12: .line 200
            goto 29
      StackMap locals:
      StackMap stack:
        13: iload 6 /* c */
            sipush 2048
            if_icmpge 18
        14: .line 201
            aload 0 /* this */
            sipush 192
            iload 6 /* c */
            bipush 6
            ishr
            iadd
            i2b
            invokevirtual org.bson.io.OutputBuffer.write:(I)V
        15: .line 202
            aload 0 /* this */
            sipush 128
            iload 6 /* c */
            bipush 63
            iand
            iadd
            i2b
            invokevirtual org.bson.io.OutputBuffer.write:(I)V
        16: .line 203
            iinc 4 /* total */ 2
        17: .line 204
            goto 29
      StackMap locals:
      StackMap stack:
        18: iload 6 /* c */
            ldc 65536
            if_icmpge 24
        19: .line 205
            aload 0 /* this */
            sipush 224
            iload 6 /* c */
            bipush 12
            ishr
            iadd
            i2b
            invokevirtual org.bson.io.OutputBuffer.write:(I)V
        20: .line 206
            aload 0 /* this */
            sipush 128
            iload 6 /* c */
            bipush 6
            ishr
            bipush 63
            iand
            iadd
            i2b
            invokevirtual org.bson.io.OutputBuffer.write:(I)V
        21: .line 207
            aload 0 /* this */
            sipush 128
            iload 6 /* c */
            bipush 63
            iand
            iadd
            i2b
            invokevirtual org.bson.io.OutputBuffer.write:(I)V
        22: .line 208
            iinc 4 /* total */ 3
        23: .line 209
            goto 29
        24: .line 210
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            sipush 240
            iload 6 /* c */
            bipush 18
            ishr
            iadd
            i2b
            invokevirtual org.bson.io.OutputBuffer.write:(I)V
        25: .line 211
            aload 0 /* this */
            sipush 128
            iload 6 /* c */
            bipush 12
            ishr
            bipush 63
            iand
            iadd
            i2b
            invokevirtual org.bson.io.OutputBuffer.write:(I)V
        26: .line 212
            aload 0 /* this */
            sipush 128
            iload 6 /* c */
            bipush 6
            ishr
            bipush 63
            iand
            iadd
            i2b
            invokevirtual org.bson.io.OutputBuffer.write:(I)V
        27: .line 213
            aload 0 /* this */
            sipush 128
            iload 6 /* c */
            bipush 63
            iand
            iadd
            i2b
            invokevirtual org.bson.io.OutputBuffer.write:(I)V
        28: .line 214
            iinc 4 /* total */ 4
        29: .line 217
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            iload 6 /* c */
            invokestatic java.lang.Character.charCount:(I)I
            iadd
            istore 5 /* i */
        end local 6 // int c
        30: .line 190
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            iload 3 /* len */
            if_icmplt 4
        end local 5 // int i
        31: .line 220
            aload 0 /* this */
            iconst_0
            invokevirtual org.bson.io.OutputBuffer.write:(I)V
        32: .line 221
            iinc 4 /* total */ 1
        33: .line 222
            iload 4 /* total */
            ireturn
        end local 4 // int total
        end local 3 // int len
        end local 2 // boolean checkForNullCharacters
        end local 1 // java.lang.String str
        end local 0 // org.bson.io.OutputBuffer this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   34     0                    this  Lorg/bson/io/OutputBuffer;
            0   34     1                     str  Ljava/lang/String;
            0   34     2  checkForNullCharacters  Z
            1   34     3                     len  I
            2   34     4                   total  I
            3   31     5                       i  I
            5   30     6                       c  I
    MethodParameters:
                        Name  Flags
      str                     final
      checkForNullCharacters  final
}
SourceFile: "OutputBuffer.java"