public class org.bson.BasicBSONEncoder implements org.bson.BSONEncoder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.bson.BasicBSONEncoder
  super_class: java.lang.Object
{
  private org.bson.BsonBinaryWriter bsonWriter;
    descriptor: Lorg/bson/BsonBinaryWriter;
    flags: (0x0002) ACC_PRIVATE

  private org.bson.io.OutputBuffer outputBuffer;
    descriptor: Lorg/bson/io/OutputBuffer;
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bson.BasicBSONEncoder this
         0: .line 44
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.bson.BasicBSONEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/BasicBSONEncoder;

  public byte[] encode(org.bson.BSONObject);
    descriptor: (Lorg/bson/BSONObject;)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.bson.BasicBSONEncoder this
        start local 1 // org.bson.BSONObject document
         0: .line 51
            new org.bson.io.BasicOutputBuffer
            dup
            invokespecial org.bson.io.BasicOutputBuffer.<init>:()V
            astore 2 /* outputBuffer */
        start local 2 // org.bson.io.OutputBuffer outputBuffer
         1: .line 52
            aload 0 /* this */
            aload 2 /* outputBuffer */
            invokevirtual org.bson.BasicBSONEncoder.set:(Lorg/bson/io/OutputBuffer;)V
         2: .line 53
            aload 0 /* this */
            aload 1 /* document */
            invokevirtual org.bson.BasicBSONEncoder.putObject:(Lorg/bson/BSONObject;)I
            pop
         3: .line 54
            aload 0 /* this */
            invokevirtual org.bson.BasicBSONEncoder.done:()V
         4: .line 55
            aload 2 /* outputBuffer */
            invokevirtual org.bson.io.OutputBuffer.toByteArray:()[B
            areturn
        end local 2 // org.bson.io.OutputBuffer outputBuffer
        end local 1 // org.bson.BSONObject document
        end local 0 // org.bson.BasicBSONEncoder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lorg/bson/BasicBSONEncoder;
            0    5     1      document  Lorg/bson/BSONObject;
            1    5     2  outputBuffer  Lorg/bson/io/OutputBuffer;
    MethodParameters:
          Name  Flags
      document  final

  public void done();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bson.BasicBSONEncoder this
         0: .line 60
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            invokevirtual org.bson.BsonBinaryWriter.close:()V
         1: .line 61
            aload 0 /* this */
            aconst_null
            putfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
         2: .line 62
            return
        end local 0 // org.bson.BasicBSONEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bson/BasicBSONEncoder;

  public void set(org.bson.io.OutputBuffer);
    descriptor: (Lorg/bson/io/OutputBuffer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.bson.BasicBSONEncoder this
        start local 1 // org.bson.io.OutputBuffer buffer
         0: .line 66
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            ifnull 2
         1: .line 67
            new java.lang.IllegalStateException
            dup
            ldc "Performing another operation at this moment"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 69
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* buffer */
            putfield org.bson.BasicBSONEncoder.outputBuffer:Lorg/bson/io/OutputBuffer;
         3: .line 70
            aload 0 /* this */
            new org.bson.BsonBinaryWriter
            dup
            aload 1 /* buffer */
            invokespecial org.bson.BsonBinaryWriter.<init>:(Lorg/bson/io/BsonOutput;)V
            putfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
         4: .line 71
            return
        end local 1 // org.bson.io.OutputBuffer buffer
        end local 0 // org.bson.BasicBSONEncoder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/bson/BasicBSONEncoder;
            0    5     1  buffer  Lorg/bson/io/OutputBuffer;
    MethodParameters:
        Name  Flags
      buffer  final

  protected org.bson.io.OutputBuffer getOutputBuffer();
    descriptor: ()Lorg/bson/io/OutputBuffer;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bson.BasicBSONEncoder this
         0: .line 79
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.outputBuffer:Lorg/bson/io/OutputBuffer;
            areturn
        end local 0 // org.bson.BasicBSONEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/BasicBSONEncoder;

  protected org.bson.BsonBinaryWriter getBsonWriter();
    descriptor: ()Lorg/bson/BsonBinaryWriter;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bson.BasicBSONEncoder this
         0: .line 88
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            areturn
        end local 0 // org.bson.BasicBSONEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/BasicBSONEncoder;

  public int putObject(org.bson.BSONObject);
    descriptor: (Lorg/bson/BSONObject;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.bson.BasicBSONEncoder this
        start local 1 // org.bson.BSONObject document
         0: .line 99
            aload 0 /* this */
            invokevirtual org.bson.BasicBSONEncoder.getOutputBuffer:()Lorg/bson/io/OutputBuffer;
            invokevirtual org.bson.io.OutputBuffer.getPosition:()I
            istore 2 /* startPosition */
        start local 2 // int startPosition
         1: .line 100
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            invokevirtual org.bson.BsonBinaryWriter.writeStartDocument:()V
         2: .line 102
            aload 0 /* this */
            invokevirtual org.bson.BasicBSONEncoder.isTopLevelDocument:()Z
            ifeq 4
            aload 1 /* document */
            ldc "_id"
            invokeinterface org.bson.BSONObject.containsField:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 103
            aload 0 /* this */
            ldc "_id"
            aload 1 /* document */
            ldc "_id"
            invokeinterface org.bson.BSONObject.get:(Ljava/lang/String;)Ljava/lang/Object;
            invokevirtual org.bson.BasicBSONEncoder._putObjectField:(Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 106
      StackMap locals: int
      StackMap stack:
            aload 1 /* document */
            invokeinterface org.bson.BSONObject.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 9
      StackMap locals: org.bson.BasicBSONEncoder org.bson.BSONObject int top java.util.Iterator
      StackMap stack:
         5: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* key */
        start local 3 // java.lang.String key
         6: .line 107
            aload 0 /* this */
            invokevirtual org.bson.BasicBSONEncoder.isTopLevelDocument:()Z
            ifeq 8
            aload 3 /* key */
            ldc "_id"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 108
            goto 9
         8: .line 110
      StackMap locals: org.bson.BasicBSONEncoder org.bson.BSONObject int java.lang.String java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aload 3 /* key */
            aload 1 /* document */
            aload 3 /* key */
            invokeinterface org.bson.BSONObject.get:(Ljava/lang/String;)Ljava/lang/Object;
            invokevirtual org.bson.BasicBSONEncoder._putObjectField:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 3 // java.lang.String key
         9: .line 106
      StackMap locals: org.bson.BasicBSONEncoder org.bson.BSONObject int top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        10: .line 112
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            invokevirtual org.bson.BsonBinaryWriter.writeEndDocument:()V
        11: .line 113
            aload 0 /* this */
            invokevirtual org.bson.BasicBSONEncoder.getOutputBuffer:()Lorg/bson/io/OutputBuffer;
            invokevirtual org.bson.io.OutputBuffer.getPosition:()I
            iload 2 /* startPosition */
            isub
            ireturn
        end local 2 // int startPosition
        end local 1 // org.bson.BSONObject document
        end local 0 // org.bson.BasicBSONEncoder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   12     0           this  Lorg/bson/BasicBSONEncoder;
            0   12     1       document  Lorg/bson/BSONObject;
            1   12     2  startPosition  I
            6    9     3            key  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      document  final

  private boolean isTopLevelDocument();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bson.BasicBSONEncoder this
         0: .line 117
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            invokevirtual org.bson.BsonBinaryWriter.getContext:()Lorg/bson/BsonBinaryWriter$Context;
            invokevirtual org.bson.BsonBinaryWriter$Context.getParentContext:()Lorg/bson/BsonBinaryWriter$Context;
            ifnonnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.bson.BasicBSONEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bson/BasicBSONEncoder;

  protected void putName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.BasicBSONEncoder this
        start local 1 // java.lang.String name
         0: .line 126
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            invokevirtual org.bson.BsonBinaryWriter.getState:()Lorg/bson/AbstractBsonWriter$State;
            getstatic org.bson.AbstractBsonWriter$State.NAME:Lorg/bson/AbstractBsonWriter$State;
            if_acmpne 2
         1: .line 127
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            aload 1 /* name */
            invokevirtual org.bson.BsonBinaryWriter.writeName:(Ljava/lang/String;)V
         2: .line 129
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String name
        end local 0 // org.bson.BasicBSONEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bson/BasicBSONEncoder;
            0    3     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  final

  protected void _putObjectField(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.bson.BasicBSONEncoder this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Object initialValue
         0: .line 138
            ldc "_transientFields"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 139
            return
         2: .line 141
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            ldc "\u0000"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 4
         3: .line 142
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Document field names can't have a NULL character. (Bad Key: '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "')"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 145
      StackMap locals:
      StackMap stack:
            ldc "$where"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
            aload 2 /* initialValue */
            instanceof java.lang.String
            ifeq 6
         5: .line 146
            aload 0 /* this */
            aload 1 /* name */
            new org.bson.types.Code
            dup
            aload 2 /* initialValue */
            checkcast java.lang.String
            invokespecial org.bson.types.Code.<init>:(Ljava/lang/String;)V
            invokevirtual org.bson.BasicBSONEncoder.putCode:(Ljava/lang/String;Lorg/bson/types/Code;)V
         6: .line 149
      StackMap locals:
      StackMap stack:
            aload 2 /* initialValue */
            invokestatic org.bson.BSON.applyEncodingHooks:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* value */
        start local 3 // java.lang.Object value
         7: .line 151
            aload 3 /* value */
            ifnonnull 10
         8: .line 152
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.bson.BasicBSONEncoder.putNull:(Ljava/lang/String;)V
         9: .line 153
            goto 75
      StackMap locals: java.lang.Object
      StackMap stack:
        10: aload 3 /* value */
            instanceof java.util.Date
            ifeq 13
        11: .line 154
            aload 0 /* this */
            aload 1 /* name */
            aload 3 /* value */
            checkcast java.util.Date
            invokevirtual org.bson.BasicBSONEncoder.putDate:(Ljava/lang/String;Ljava/util/Date;)V
        12: .line 155
            goto 75
      StackMap locals:
      StackMap stack:
        13: aload 3 /* value */
            instanceof org.bson.types.Decimal128
            ifeq 16
        14: .line 156
            aload 0 /* this */
            aload 1 /* name */
            aload 3 /* value */
            checkcast org.bson.types.Decimal128
            invokevirtual org.bson.BasicBSONEncoder.putDecimal128:(Ljava/lang/String;Lorg/bson/types/Decimal128;)V
        15: .line 157
            goto 75
      StackMap locals:
      StackMap stack:
        16: aload 3 /* value */
            instanceof java.lang.Number
            ifeq 19
        17: .line 158
            aload 0 /* this */
            aload 1 /* name */
            aload 3 /* value */
            checkcast java.lang.Number
            invokevirtual org.bson.BasicBSONEncoder.putNumber:(Ljava/lang/String;Ljava/lang/Number;)V
        18: .line 159
            goto 75
      StackMap locals:
      StackMap stack:
        19: aload 3 /* value */
            instanceof java.lang.Character
            ifeq 22
        20: .line 160
            aload 0 /* this */
            aload 1 /* name */
            aload 3 /* value */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual org.bson.BasicBSONEncoder.putString:(Ljava/lang/String;Ljava/lang/String;)V
        21: .line 161
            goto 75
      StackMap locals:
      StackMap stack:
        22: aload 3 /* value */
            instanceof java.lang.String
            ifeq 25
        23: .line 162
            aload 0 /* this */
            aload 1 /* name */
            aload 3 /* value */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual org.bson.BasicBSONEncoder.putString:(Ljava/lang/String;Ljava/lang/String;)V
        24: .line 163
            goto 75
      StackMap locals:
      StackMap stack:
        25: aload 3 /* value */
            instanceof org.bson.types.ObjectId
            ifeq 28
        26: .line 164
            aload 0 /* this */
            aload 1 /* name */
            aload 3 /* value */
            checkcast org.bson.types.ObjectId
            invokevirtual org.bson.BasicBSONEncoder.putObjectId:(Ljava/lang/String;Lorg/bson/types/ObjectId;)V
        27: .line 165
            goto 75
      StackMap locals:
      StackMap stack:
        28: aload 3 /* value */
            instanceof java.lang.Boolean
            ifeq 31
        29: .line 166
            aload 0 /* this */
            aload 1 /* name */
            aload 3 /* value */
            checkcast java.lang.Boolean
            invokevirtual org.bson.BasicBSONEncoder.putBoolean:(Ljava/lang/String;Ljava/lang/Boolean;)V
        30: .line 167
            goto 75
      StackMap locals:
      StackMap stack:
        31: aload 3 /* value */
            instanceof java.util.regex.Pattern
            ifeq 34
        32: .line 168
            aload 0 /* this */
            aload 1 /* name */
            aload 3 /* value */
            checkcast java.util.regex.Pattern
            invokevirtual org.bson.BasicBSONEncoder.putPattern:(Ljava/lang/String;Ljava/util/regex/Pattern;)V
        33: .line 169
            goto 75
      StackMap locals:
      StackMap stack:
        34: aload 3 /* value */
            instanceof java.lang.Iterable
            ifeq 37
        35: .line 170
            aload 0 /* this */
            aload 1 /* name */
            aload 3 /* value */
            checkcast java.lang.Iterable
            invokevirtual org.bson.BasicBSONEncoder.putIterable:(Ljava/lang/String;Ljava/lang/Iterable;)V
        36: .line 171
            goto 75
      StackMap locals:
      StackMap stack:
        37: aload 3 /* value */
            instanceof org.bson.BSONObject
            ifeq 40
        38: .line 172
            aload 0 /* this */
            aload 1 /* name */
            aload 3 /* value */
            checkcast org.bson.BSONObject
            invokevirtual org.bson.BasicBSONEncoder.putObject:(Ljava/lang/String;Lorg/bson/BSONObject;)I
            pop
        39: .line 173
            goto 75
      StackMap locals:
      StackMap stack:
        40: aload 3 /* value */
            instanceof java.util.Map
            ifeq 43
        41: .line 174
            aload 0 /* this */
            aload 1 /* name */
            aload 3 /* value */
            checkcast java.util.Map
            invokevirtual org.bson.BasicBSONEncoder.putMap:(Ljava/lang/String;Ljava/util/Map;)V
        42: .line 175
            goto 75
      StackMap locals:
      StackMap stack:
        43: aload 3 /* value */
            instanceof byte[]
            ifeq 46
        44: .line 176
            aload 0 /* this */
            aload 1 /* name */
            aload 3 /* value */
            checkcast byte[]
            invokevirtual org.bson.BasicBSONEncoder.putBinary:(Ljava/lang/String;[B)V
        45: .line 177
            goto 75
      StackMap locals:
      StackMap stack:
        46: aload 3 /* value */
            instanceof org.bson.types.Binary
            ifeq 49
        47: .line 178
            aload 0 /* this */
            aload 1 /* name */
            aload 3 /* value */
            checkcast org.bson.types.Binary
            invokevirtual org.bson.BasicBSONEncoder.putBinary:(Ljava/lang/String;Lorg/bson/types/Binary;)V
        48: .line 179
            goto 75
      StackMap locals:
      StackMap stack:
        49: aload 3 /* value */
            instanceof java.util.UUID
            ifeq 52
        50: .line 180
            aload 0 /* this */
            aload 1 /* name */
            aload 3 /* value */
            checkcast java.util.UUID
            invokevirtual org.bson.BasicBSONEncoder.putUUID:(Ljava/lang/String;Ljava/util/UUID;)V
        51: .line 181
            goto 75
      StackMap locals:
      StackMap stack:
        52: aload 3 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 55
        53: .line 182
            aload 0 /* this */
            aload 1 /* name */
            aload 3 /* value */
            invokevirtual org.bson.BasicBSONEncoder.putArray:(Ljava/lang/String;Ljava/lang/Object;)V
        54: .line 183
            goto 75
      StackMap locals:
      StackMap stack:
        55: aload 3 /* value */
            instanceof org.bson.types.Symbol
            ifeq 58
        56: .line 184
            aload 0 /* this */
            aload 1 /* name */
            aload 3 /* value */
            checkcast org.bson.types.Symbol
            invokevirtual org.bson.BasicBSONEncoder.putSymbol:(Ljava/lang/String;Lorg/bson/types/Symbol;)V
        57: .line 185
            goto 75
      StackMap locals:
      StackMap stack:
        58: aload 3 /* value */
            instanceof org.bson.types.BSONTimestamp
            ifeq 61
        59: .line 186
            aload 0 /* this */
            aload 1 /* name */
            aload 3 /* value */
            checkcast org.bson.types.BSONTimestamp
            invokevirtual org.bson.BasicBSONEncoder.putTimestamp:(Ljava/lang/String;Lorg/bson/types/BSONTimestamp;)V
        60: .line 187
            goto 75
      StackMap locals:
      StackMap stack:
        61: aload 3 /* value */
            instanceof org.bson.types.CodeWScope
            ifeq 64
        62: .line 188
            aload 0 /* this */
            aload 1 /* name */
            aload 3 /* value */
            checkcast org.bson.types.CodeWScope
            invokevirtual org.bson.BasicBSONEncoder.putCodeWScope:(Ljava/lang/String;Lorg/bson/types/CodeWScope;)V
        63: .line 189
            goto 75
      StackMap locals:
      StackMap stack:
        64: aload 3 /* value */
            instanceof org.bson.types.Code
            ifeq 67
        65: .line 190
            aload 0 /* this */
            aload 1 /* name */
            aload 3 /* value */
            checkcast org.bson.types.Code
            invokevirtual org.bson.BasicBSONEncoder.putCode:(Ljava/lang/String;Lorg/bson/types/Code;)V
        66: .line 191
            goto 75
      StackMap locals:
      StackMap stack:
        67: aload 3 /* value */
            instanceof org.bson.types.MinKey
            ifeq 70
        68: .line 192
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.bson.BasicBSONEncoder.putMinKey:(Ljava/lang/String;)V
        69: .line 193
            goto 75
      StackMap locals:
      StackMap stack:
        70: aload 3 /* value */
            instanceof org.bson.types.MaxKey
            ifeq 73
        71: .line 194
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.bson.BasicBSONEncoder.putMaxKey:(Ljava/lang/String;)V
        72: .line 195
            goto 75
      StackMap locals:
      StackMap stack:
        73: aload 0 /* this */
            aload 1 /* name */
            aload 3 /* value */
            invokevirtual org.bson.BasicBSONEncoder.putSpecial:(Ljava/lang/String;Ljava/lang/Object;)Z
            ifne 75
        74: .line 198
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Can't serialize "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        75: .line 201
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.Object value
        end local 2 // java.lang.Object initialValue
        end local 1 // java.lang.String name
        end local 0 // org.bson.BasicBSONEncoder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   76     0          this  Lorg/bson/BasicBSONEncoder;
            0   76     1          name  Ljava/lang/String;
            0   76     2  initialValue  Ljava/lang/Object;
            7   76     3         value  Ljava/lang/Object;
    MethodParameters:
              Name  Flags
      name          final
      initialValue  final

  protected void putNull(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.BasicBSONEncoder this
        start local 1 // java.lang.String name
         0: .line 210
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.bson.BasicBSONEncoder.putName:(Ljava/lang/String;)V
         1: .line 211
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            invokevirtual org.bson.BsonBinaryWriter.writeNull:()V
         2: .line 212
            return
        end local 1 // java.lang.String name
        end local 0 // org.bson.BasicBSONEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bson/BasicBSONEncoder;
            0    3     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  final

  protected void putUndefined(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.BasicBSONEncoder this
        start local 1 // java.lang.String name
         0: .line 221
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.bson.BasicBSONEncoder.putName:(Ljava/lang/String;)V
         1: .line 222
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            invokevirtual org.bson.BsonBinaryWriter.writeUndefined:()V
         2: .line 223
            return
        end local 1 // java.lang.String name
        end local 0 // org.bson.BasicBSONEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bson/BasicBSONEncoder;
            0    3     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  final

  protected void putTimestamp(java.lang.String, org.bson.types.BSONTimestamp);
    descriptor: (Ljava/lang/String;Lorg/bson/types/BSONTimestamp;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.bson.BasicBSONEncoder this
        start local 1 // java.lang.String name
        start local 2 // org.bson.types.BSONTimestamp timestamp
         0: .line 233
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.bson.BasicBSONEncoder.putName:(Ljava/lang/String;)V
         1: .line 234
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            new org.bson.BsonTimestamp
            dup
            aload 2 /* timestamp */
            invokevirtual org.bson.types.BSONTimestamp.getTime:()I
            aload 2 /* timestamp */
            invokevirtual org.bson.types.BSONTimestamp.getInc:()I
            invokespecial org.bson.BsonTimestamp.<init>:(II)V
            invokevirtual org.bson.BsonBinaryWriter.writeTimestamp:(Lorg/bson/BsonTimestamp;)V
         2: .line 235
            return
        end local 2 // org.bson.types.BSONTimestamp timestamp
        end local 1 // java.lang.String name
        end local 0 // org.bson.BasicBSONEncoder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/bson/BasicBSONEncoder;
            0    3     1       name  Ljava/lang/String;
            0    3     2  timestamp  Lorg/bson/types/BSONTimestamp;
    MethodParameters:
           Name  Flags
      name       final
      timestamp  final

  protected void putCode(java.lang.String, org.bson.types.Code);
    descriptor: (Ljava/lang/String;Lorg/bson/types/Code;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.bson.BasicBSONEncoder this
        start local 1 // java.lang.String name
        start local 2 // org.bson.types.Code code
         0: .line 244
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.bson.BasicBSONEncoder.putName:(Ljava/lang/String;)V
         1: .line 245
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            aload 2 /* code */
            invokevirtual org.bson.types.Code.getCode:()Ljava/lang/String;
            invokevirtual org.bson.BsonBinaryWriter.writeJavaScript:(Ljava/lang/String;)V
         2: .line 246
            return
        end local 2 // org.bson.types.Code code
        end local 1 // java.lang.String name
        end local 0 // org.bson.BasicBSONEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bson/BasicBSONEncoder;
            0    3     1  name  Ljava/lang/String;
            0    3     2  code  Lorg/bson/types/Code;
    MethodParameters:
      Name  Flags
      name  final
      code  final

  protected void putCodeWScope(java.lang.String, org.bson.types.CodeWScope);
    descriptor: (Ljava/lang/String;Lorg/bson/types/CodeWScope;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.bson.BasicBSONEncoder this
        start local 1 // java.lang.String name
        start local 2 // org.bson.types.CodeWScope codeWScope
         0: .line 255
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.bson.BasicBSONEncoder.putName:(Ljava/lang/String;)V
         1: .line 256
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            aload 2 /* codeWScope */
            invokevirtual org.bson.types.CodeWScope.getCode:()Ljava/lang/String;
            invokevirtual org.bson.BsonBinaryWriter.writeJavaScriptWithScope:(Ljava/lang/String;)V
         2: .line 257
            aload 0 /* this */
            aload 2 /* codeWScope */
            invokevirtual org.bson.types.CodeWScope.getScope:()Lorg/bson/BSONObject;
            invokevirtual org.bson.BasicBSONEncoder.putObject:(Lorg/bson/BSONObject;)I
            pop
         3: .line 258
            return
        end local 2 // org.bson.types.CodeWScope codeWScope
        end local 1 // java.lang.String name
        end local 0 // org.bson.BasicBSONEncoder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/bson/BasicBSONEncoder;
            0    4     1        name  Ljava/lang/String;
            0    4     2  codeWScope  Lorg/bson/types/CodeWScope;
    MethodParameters:
            Name  Flags
      name        final
      codeWScope  final

  protected void putBoolean(java.lang.String, java.lang.Boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/Boolean;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.bson.BasicBSONEncoder this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Boolean value
         0: .line 267
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.bson.BasicBSONEncoder.putName:(Ljava/lang/String;)V
         1: .line 268
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            aload 2 /* value */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            invokevirtual org.bson.BsonBinaryWriter.writeBoolean:(Z)V
         2: .line 269
            return
        end local 2 // java.lang.Boolean value
        end local 1 // java.lang.String name
        end local 0 // org.bson.BasicBSONEncoder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/bson/BasicBSONEncoder;
            0    3     1   name  Ljava/lang/String;
            0    3     2  value  Ljava/lang/Boolean;
    MethodParameters:
       Name  Flags
      name   final
      value  final

  protected void putDate(java.lang.String, java.util.Date);
    descriptor: (Ljava/lang/String;Ljava/util/Date;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.bson.BasicBSONEncoder this
        start local 1 // java.lang.String name
        start local 2 // java.util.Date date
         0: .line 279
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.bson.BasicBSONEncoder.putName:(Ljava/lang/String;)V
         1: .line 280
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            aload 2 /* date */
            invokevirtual java.util.Date.getTime:()J
            invokevirtual org.bson.BsonBinaryWriter.writeDateTime:(J)V
         2: .line 281
            return
        end local 2 // java.util.Date date
        end local 1 // java.lang.String name
        end local 0 // org.bson.BasicBSONEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bson/BasicBSONEncoder;
            0    3     1  name  Ljava/lang/String;
            0    3     2  date  Ljava/util/Date;
    MethodParameters:
      Name  Flags
      name  final
      date  final

  protected void putNumber(java.lang.String, java.lang.Number);
    descriptor: (Ljava/lang/String;Ljava/lang/Number;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.bson.BasicBSONEncoder this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Number number
         0: .line 290
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.bson.BasicBSONEncoder.putName:(Ljava/lang/String;)V
         1: .line 291
            aload 2 /* number */
            instanceof java.lang.Integer
            ifne 2
            aload 2 /* number */
            instanceof java.lang.Short
            ifne 2
            aload 2 /* number */
            instanceof java.lang.Byte
            ifne 2
            aload 2 /* number */
            instanceof java.util.concurrent.atomic.AtomicInteger
            ifeq 4
         2: .line 292
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            aload 2 /* number */
            invokevirtual java.lang.Number.intValue:()I
            invokevirtual org.bson.BsonBinaryWriter.writeInt32:(I)V
         3: .line 293
            goto 11
      StackMap locals:
      StackMap stack:
         4: aload 2 /* number */
            instanceof java.lang.Long
            ifne 5
            aload 2 /* number */
            instanceof java.util.concurrent.atomic.AtomicLong
            ifeq 7
         5: .line 294
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            aload 2 /* number */
            invokevirtual java.lang.Number.longValue:()J
            invokevirtual org.bson.BsonBinaryWriter.writeInt64:(J)V
         6: .line 295
            goto 11
      StackMap locals:
      StackMap stack:
         7: aload 2 /* number */
            instanceof java.lang.Float
            ifne 8
            aload 2 /* number */
            instanceof java.lang.Double
            ifeq 10
         8: .line 296
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            aload 2 /* number */
            invokevirtual java.lang.Number.doubleValue:()D
            invokevirtual org.bson.BsonBinaryWriter.writeDouble:(D)V
         9: .line 297
            goto 11
        10: .line 298
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Can't serialize "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* number */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 300
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Number number
        end local 1 // java.lang.String name
        end local 0 // org.bson.BasicBSONEncoder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lorg/bson/BasicBSONEncoder;
            0   12     1    name  Ljava/lang/String;
            0   12     2  number  Ljava/lang/Number;
    MethodParameters:
        Name  Flags
      name    final
      number  final

  protected void putDecimal128(java.lang.String, org.bson.types.Decimal128);
    descriptor: (Ljava/lang/String;Lorg/bson/types/Decimal128;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.bson.BasicBSONEncoder this
        start local 1 // java.lang.String name
        start local 2 // org.bson.types.Decimal128 value
         0: .line 311
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.bson.BasicBSONEncoder.putName:(Ljava/lang/String;)V
         1: .line 312
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            aload 2 /* value */
            invokevirtual org.bson.BsonBinaryWriter.writeDecimal128:(Lorg/bson/types/Decimal128;)V
         2: .line 313
            return
        end local 2 // org.bson.types.Decimal128 value
        end local 1 // java.lang.String name
        end local 0 // org.bson.BasicBSONEncoder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/bson/BasicBSONEncoder;
            0    3     1   name  Ljava/lang/String;
            0    3     2  value  Lorg/bson/types/Decimal128;
    MethodParameters:
       Name  Flags
      name   final
      value  final

  protected void putBinary(java.lang.String, byte[]);
    descriptor: (Ljava/lang/String;[B)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.bson.BasicBSONEncoder this
        start local 1 // java.lang.String name
        start local 2 // byte[] bytes
         0: .line 323
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.bson.BasicBSONEncoder.putName:(Ljava/lang/String;)V
         1: .line 324
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            new org.bson.BsonBinary
            dup
            aload 2 /* bytes */
            invokespecial org.bson.BsonBinary.<init>:([B)V
            invokevirtual org.bson.BsonBinaryWriter.writeBinaryData:(Lorg/bson/BsonBinary;)V
         2: .line 325
            return
        end local 2 // byte[] bytes
        end local 1 // java.lang.String name
        end local 0 // org.bson.BasicBSONEncoder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/bson/BasicBSONEncoder;
            0    3     1   name  Ljava/lang/String;
            0    3     2  bytes  [B
    MethodParameters:
       Name  Flags
      name   final
      bytes  final

  protected void putBinary(java.lang.String, org.bson.types.Binary);
    descriptor: (Ljava/lang/String;Lorg/bson/types/Binary;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.bson.BasicBSONEncoder this
        start local 1 // java.lang.String name
        start local 2 // org.bson.types.Binary binary
         0: .line 335
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.bson.BasicBSONEncoder.putName:(Ljava/lang/String;)V
         1: .line 336
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            new org.bson.BsonBinary
            dup
            aload 2 /* binary */
            invokevirtual org.bson.types.Binary.getType:()B
            aload 2 /* binary */
            invokevirtual org.bson.types.Binary.getData:()[B
            invokespecial org.bson.BsonBinary.<init>:(B[B)V
            invokevirtual org.bson.BsonBinaryWriter.writeBinaryData:(Lorg/bson/BsonBinary;)V
         2: .line 337
            return
        end local 2 // org.bson.types.Binary binary
        end local 1 // java.lang.String name
        end local 0 // org.bson.BasicBSONEncoder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/bson/BasicBSONEncoder;
            0    3     1    name  Ljava/lang/String;
            0    3     2  binary  Lorg/bson/types/Binary;
    MethodParameters:
        Name  Flags
      name    final
      binary  final

  protected void putUUID(java.lang.String, java.util.UUID);
    descriptor: (Ljava/lang/String;Ljava/util/UUID;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.bson.BasicBSONEncoder this
        start local 1 // java.lang.String name
        start local 2 // java.util.UUID uuid
         0: .line 347
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.bson.BasicBSONEncoder.putName:(Ljava/lang/String;)V
         1: .line 348
            bipush 16
            newarray 8
            astore 3 /* bytes */
        start local 3 // byte[] bytes
         2: .line 349
            aload 3 /* bytes */
            iconst_0
            aload 2 /* uuid */
            invokevirtual java.util.UUID.getMostSignificantBits:()J
            invokestatic org.bson.BasicBSONEncoder.writeLongToArrayLittleEndian:([BIJ)V
         3: .line 350
            aload 3 /* bytes */
            bipush 8
            aload 2 /* uuid */
            invokevirtual java.util.UUID.getLeastSignificantBits:()J
            invokestatic org.bson.BasicBSONEncoder.writeLongToArrayLittleEndian:([BIJ)V
         4: .line 351
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            new org.bson.BsonBinary
            dup
            getstatic org.bson.BsonBinarySubType.UUID_LEGACY:Lorg/bson/BsonBinarySubType;
            aload 3 /* bytes */
            invokespecial org.bson.BsonBinary.<init>:(Lorg/bson/BsonBinarySubType;[B)V
            invokevirtual org.bson.BsonBinaryWriter.writeBinaryData:(Lorg/bson/BsonBinary;)V
         5: .line 352
            return
        end local 3 // byte[] bytes
        end local 2 // java.util.UUID uuid
        end local 1 // java.lang.String name
        end local 0 // org.bson.BasicBSONEncoder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/bson/BasicBSONEncoder;
            0    6     1   name  Ljava/lang/String;
            0    6     2   uuid  Ljava/util/UUID;
            2    6     3  bytes  [B
    MethodParameters:
      Name  Flags
      name  final
      uuid  final

  protected void putSymbol(java.lang.String, org.bson.types.Symbol);
    descriptor: (Ljava/lang/String;Lorg/bson/types/Symbol;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.bson.BasicBSONEncoder this
        start local 1 // java.lang.String name
        start local 2 // org.bson.types.Symbol symbol
         0: .line 362
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.bson.BasicBSONEncoder.putName:(Ljava/lang/String;)V
         1: .line 363
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            aload 2 /* symbol */
            invokevirtual org.bson.types.Symbol.getSymbol:()Ljava/lang/String;
            invokevirtual org.bson.BsonBinaryWriter.writeSymbol:(Ljava/lang/String;)V
         2: .line 364
            return
        end local 2 // org.bson.types.Symbol symbol
        end local 1 // java.lang.String name
        end local 0 // org.bson.BasicBSONEncoder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/bson/BasicBSONEncoder;
            0    3     1    name  Ljava/lang/String;
            0    3     2  symbol  Lorg/bson/types/Symbol;
    MethodParameters:
        Name  Flags
      name    final
      symbol  final

  protected void putString(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.bson.BasicBSONEncoder this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String value
         0: .line 374
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.bson.BasicBSONEncoder.putName:(Ljava/lang/String;)V
         1: .line 375
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            aload 2 /* value */
            invokevirtual org.bson.BsonBinaryWriter.writeString:(Ljava/lang/String;)V
         2: .line 376
            return
        end local 2 // java.lang.String value
        end local 1 // java.lang.String name
        end local 0 // org.bson.BasicBSONEncoder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/bson/BasicBSONEncoder;
            0    3     1   name  Ljava/lang/String;
            0    3     2  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      name   final
      value  final

  protected void putPattern(java.lang.String, java.util.regex.Pattern);
    descriptor: (Ljava/lang/String;Ljava/util/regex/Pattern;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.bson.BasicBSONEncoder this
        start local 1 // java.lang.String name
        start local 2 // java.util.regex.Pattern value
         0: .line 387
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.bson.BasicBSONEncoder.putName:(Ljava/lang/String;)V
         1: .line 388
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            new org.bson.BsonRegularExpression
            dup
            aload 2 /* value */
            invokevirtual java.util.regex.Pattern.pattern:()Ljava/lang/String;
            aload 2 /* value */
            invokevirtual java.util.regex.Pattern.flags:()I
            invokestatic org.bson.BSON.regexFlags:(I)Ljava/lang/String;
            invokespecial org.bson.BsonRegularExpression.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            invokevirtual org.bson.BsonBinaryWriter.writeRegularExpression:(Lorg/bson/BsonRegularExpression;)V
         2: .line 389
            return
        end local 2 // java.util.regex.Pattern value
        end local 1 // java.lang.String name
        end local 0 // org.bson.BasicBSONEncoder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/bson/BasicBSONEncoder;
            0    3     1   name  Ljava/lang/String;
            0    3     2  value  Ljava/util/regex/Pattern;
    MethodParameters:
       Name  Flags
      name   final
      value  final

  protected void putObjectId(java.lang.String, org.bson.types.ObjectId);
    descriptor: (Ljava/lang/String;Lorg/bson/types/ObjectId;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.bson.BasicBSONEncoder this
        start local 1 // java.lang.String name
        start local 2 // org.bson.types.ObjectId objectId
         0: .line 398
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.bson.BasicBSONEncoder.putName:(Ljava/lang/String;)V
         1: .line 399
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            aload 2 /* objectId */
            invokevirtual org.bson.BsonBinaryWriter.writeObjectId:(Lorg/bson/types/ObjectId;)V
         2: .line 400
            return
        end local 2 // org.bson.types.ObjectId objectId
        end local 1 // java.lang.String name
        end local 0 // org.bson.BasicBSONEncoder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/bson/BasicBSONEncoder;
            0    3     1      name  Ljava/lang/String;
            0    3     2  objectId  Lorg/bson/types/ObjectId;
    MethodParameters:
          Name  Flags
      name      final
      objectId  final

  protected void putArray(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.bson.BasicBSONEncoder this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Object object
         0: .line 409
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.bson.BasicBSONEncoder.putName:(Ljava/lang/String;)V
         1: .line 410
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            invokevirtual org.bson.BsonBinaryWriter.writeStartArray:()V
         2: .line 411
            aload 2 /* object */
            instanceof int[]
            ifeq 9
         3: .line 412
            aload 2 /* object */
            checkcast int[]
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 7
      StackMap locals: org.bson.BasicBSONEncoder java.lang.String java.lang.Object top int int int[]
      StackMap stack:
         4: aload 6
            iload 4
            iaload
            istore 3 /* i */
        start local 3 // int i
         5: .line 413
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            iload 3 /* i */
            invokevirtual org.bson.BsonBinaryWriter.writeInt32:(I)V
        end local 3 // int i
         6: .line 412
            iinc 4 1
      StackMap locals:
      StackMap stack:
         7: iload 4
            iload 5
            if_icmplt 4
         8: .line 415
            goto 64
      StackMap locals: org.bson.BasicBSONEncoder java.lang.String java.lang.Object
      StackMap stack:
         9: aload 2 /* object */
            instanceof long[]
            ifeq 16
        10: .line 416
            aload 2 /* object */
            checkcast long[]
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 14
      StackMap locals: org.bson.BasicBSONEncoder java.lang.String java.lang.Object top top int int long[]
      StackMap stack:
        11: aload 7
            iload 5
            laload
            lstore 3 /* i */
        start local 3 // long i
        12: .line 417
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            lload 3 /* i */
            invokevirtual org.bson.BsonBinaryWriter.writeInt64:(J)V
        end local 3 // long i
        13: .line 416
            iinc 5 1
      StackMap locals:
      StackMap stack:
        14: iload 5
            iload 6
            if_icmplt 11
        15: .line 419
            goto 64
      StackMap locals: org.bson.BasicBSONEncoder java.lang.String java.lang.Object
      StackMap stack:
        16: aload 2 /* object */
            instanceof float[]
            ifeq 23
        17: .line 420
            aload 2 /* object */
            checkcast float[]
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 21
      StackMap locals: org.bson.BasicBSONEncoder java.lang.String java.lang.Object top int int float[]
      StackMap stack:
        18: aload 6
            iload 4
            faload
            fstore 3 /* i */
        start local 3 // float i
        19: .line 421
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            fload 3 /* i */
            f2d
            invokevirtual org.bson.BsonBinaryWriter.writeDouble:(D)V
        end local 3 // float i
        20: .line 420
            iinc 4 1
      StackMap locals:
      StackMap stack:
        21: iload 4
            iload 5
            if_icmplt 18
        22: .line 423
            goto 64
      StackMap locals: org.bson.BasicBSONEncoder java.lang.String java.lang.Object
      StackMap stack:
        23: aload 2 /* object */
            instanceof short[]
            ifeq 30
        24: .line 424
            aload 2 /* object */
            checkcast short[]
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 28
      StackMap locals: org.bson.BasicBSONEncoder java.lang.String java.lang.Object top int int short[]
      StackMap stack:
        25: aload 6
            iload 4
            saload
            istore 3 /* i */
        start local 3 // short i
        26: .line 425
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            iload 3 /* i */
            invokevirtual org.bson.BsonBinaryWriter.writeInt32:(I)V
        end local 3 // short i
        27: .line 424
            iinc 4 1
      StackMap locals:
      StackMap stack:
        28: iload 4
            iload 5
            if_icmplt 25
        29: .line 427
            goto 64
      StackMap locals: org.bson.BasicBSONEncoder java.lang.String java.lang.Object
      StackMap stack:
        30: aload 2 /* object */
            instanceof byte[]
            ifeq 37
        31: .line 428
            aload 2 /* object */
            checkcast byte[]
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 35
      StackMap locals: org.bson.BasicBSONEncoder java.lang.String java.lang.Object top int int byte[]
      StackMap stack:
        32: aload 6
            iload 4
            baload
            istore 3 /* i */
        start local 3 // byte i
        33: .line 429
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            iload 3 /* i */
            invokevirtual org.bson.BsonBinaryWriter.writeInt32:(I)V
        end local 3 // byte i
        34: .line 428
            iinc 4 1
      StackMap locals:
      StackMap stack:
        35: iload 4
            iload 5
            if_icmplt 32
        36: .line 431
            goto 64
      StackMap locals: org.bson.BasicBSONEncoder java.lang.String java.lang.Object
      StackMap stack:
        37: aload 2 /* object */
            instanceof double[]
            ifeq 44
        38: .line 432
            aload 2 /* object */
            checkcast double[]
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 42
      StackMap locals: org.bson.BasicBSONEncoder java.lang.String java.lang.Object top top int int double[]
      StackMap stack:
        39: aload 7
            iload 5
            daload
            dstore 3 /* i */
        start local 3 // double i
        40: .line 433
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            dload 3 /* i */
            invokevirtual org.bson.BsonBinaryWriter.writeDouble:(D)V
        end local 3 // double i
        41: .line 432
            iinc 5 1
      StackMap locals:
      StackMap stack:
        42: iload 5
            iload 6
            if_icmplt 39
        43: .line 435
            goto 64
      StackMap locals: org.bson.BasicBSONEncoder java.lang.String java.lang.Object
      StackMap stack:
        44: aload 2 /* object */
            instanceof boolean[]
            ifeq 51
        45: .line 436
            aload 2 /* object */
            checkcast boolean[]
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 49
      StackMap locals: org.bson.BasicBSONEncoder java.lang.String java.lang.Object top int int boolean[]
      StackMap stack:
        46: aload 6
            iload 4
            baload
            istore 3 /* i */
        start local 3 // boolean i
        47: .line 437
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            iload 3 /* i */
            invokevirtual org.bson.BsonBinaryWriter.writeBoolean:(Z)V
        end local 3 // boolean i
        48: .line 436
            iinc 4 1
      StackMap locals:
      StackMap stack:
        49: iload 4
            iload 5
            if_icmplt 46
        50: .line 439
            goto 64
      StackMap locals: org.bson.BasicBSONEncoder java.lang.String java.lang.Object
      StackMap stack:
        51: aload 2 /* object */
            instanceof java.lang.String[]
            ifeq 58
        52: .line 440
            aload 2 /* object */
            checkcast java.lang.String[]
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 56
      StackMap locals: org.bson.BasicBSONEncoder java.lang.String java.lang.Object top int int java.lang.String[]
      StackMap stack:
        53: aload 6
            iload 4
            aaload
            astore 3 /* i */
        start local 3 // java.lang.String i
        54: .line 441
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            aload 3 /* i */
            invokevirtual org.bson.BsonBinaryWriter.writeString:(Ljava/lang/String;)V
        end local 3 // java.lang.String i
        55: .line 440
            iinc 4 1
      StackMap locals:
      StackMap stack:
        56: iload 4
            iload 5
            if_icmplt 53
        57: .line 443
            goto 64
        58: .line 444
      StackMap locals: org.bson.BasicBSONEncoder java.lang.String java.lang.Object
      StackMap stack:
            aload 2 /* object */
            invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
            istore 3 /* length */
        start local 3 // int length
        59: .line 445
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        60: goto 63
        61: .line 446
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* i */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            aload 2 /* object */
            iload 4 /* i */
            invokestatic java.lang.reflect.Array.get:(Ljava/lang/Object;I)Ljava/lang/Object;
            invokevirtual org.bson.BasicBSONEncoder._putObjectField:(Ljava/lang/String;Ljava/lang/Object;)V
        62: .line 445
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        63: iload 4 /* i */
            iload 3 /* length */
            if_icmplt 61
        end local 4 // int i
        end local 3 // int length
        64: .line 449
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            invokevirtual org.bson.BsonBinaryWriter.writeEndArray:()V
        65: .line 450
            return
        end local 2 // java.lang.Object object
        end local 1 // java.lang.String name
        end local 0 // org.bson.BasicBSONEncoder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   66     0    this  Lorg/bson/BasicBSONEncoder;
            0   66     1    name  Ljava/lang/String;
            0   66     2  object  Ljava/lang/Object;
            5    6     3       i  I
           12   13     3       i  J
           19   20     3       i  F
           26   27     3       i  S
           33   34     3       i  B
           40   41     3       i  D
           47   48     3       i  Z
           54   55     3       i  Ljava/lang/String;
           59   64     3  length  I
           60   64     4       i  I
    MethodParameters:
        Name  Flags
      name    final
      object  final

  protected void putIterable(java.lang.String, java.lang.Iterable);
    descriptor: (Ljava/lang/String;Ljava/lang/Iterable;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.bson.BasicBSONEncoder this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Iterable iterable
         0: .line 460
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.bson.BasicBSONEncoder.putName:(Ljava/lang/String;)V
         1: .line 461
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            invokevirtual org.bson.BsonBinaryWriter.writeStartArray:()V
         2: .line 462
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: .line 463
            aload 2 /* iterable */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 5
            goto 6
      StackMap locals: org.bson.BasicBSONEncoder java.lang.String java.lang.Iterable int top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 4 /* o */
        start local 4 // java.lang.Object o
         5: .line 464
            aload 0 /* this */
            iload 3 /* i */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            aload 4 /* o */
            invokevirtual org.bson.BasicBSONEncoder._putObjectField:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 4 // java.lang.Object o
         6: .line 463
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 466
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            invokevirtual org.bson.BsonBinaryWriter.writeEndArray:()V
         8: .line 467
            return
        end local 3 // int i
        end local 2 // java.lang.Iterable iterable
        end local 1 // java.lang.String name
        end local 0 // org.bson.BasicBSONEncoder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lorg/bson/BasicBSONEncoder;
            0    9     1      name  Ljava/lang/String;
            0    9     2  iterable  Ljava/lang/Iterable;
            3    9     3         i  I
            5    6     4         o  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      name      final
      iterable  final

  protected void putMap(java.lang.String, java.util.Map);
    descriptor: (Ljava/lang/String;Ljava/util/Map;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.bson.BasicBSONEncoder this
        start local 1 // java.lang.String name
        start local 2 // java.util.Map map
         0: .line 477
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.bson.BasicBSONEncoder.putName:(Ljava/lang/String;)V
         1: .line 478
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            invokevirtual org.bson.BsonBinaryWriter.writeStartDocument:()V
         2: .line 479
            aload 2 /* map */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: org.bson.BasicBSONEncoder java.lang.String java.util.Map top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* entry */
        start local 3 // java.util.Map$Entry entry
         4: .line 480
            aload 0 /* this */
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            invokevirtual org.bson.BasicBSONEncoder._putObjectField:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 3 // java.util.Map$Entry entry
         5: .line 479
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 482
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            invokevirtual org.bson.BsonBinaryWriter.writeEndDocument:()V
         7: .line 483
            return
        end local 2 // java.util.Map map
        end local 1 // java.lang.String name
        end local 0 // org.bson.BasicBSONEncoder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lorg/bson/BasicBSONEncoder;
            0    8     1   name  Ljava/lang/String;
            0    8     2    map  Ljava/util/Map;
            4    5     3  entry  Ljava/util/Map$Entry;
    MethodParameters:
      Name  Flags
      name  final
      map   final

  protected int putObject(java.lang.String, org.bson.BSONObject);
    descriptor: (Ljava/lang/String;Lorg/bson/BSONObject;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.bson.BasicBSONEncoder this
        start local 1 // java.lang.String name
        start local 2 // org.bson.BSONObject document
         0: .line 493
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.bson.BasicBSONEncoder.putName:(Ljava/lang/String;)V
         1: .line 494
            aload 0 /* this */
            aload 2 /* document */
            invokevirtual org.bson.BasicBSONEncoder.putObject:(Lorg/bson/BSONObject;)I
            ireturn
        end local 2 // org.bson.BSONObject document
        end local 1 // java.lang.String name
        end local 0 // org.bson.BasicBSONEncoder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/bson/BasicBSONEncoder;
            0    2     1      name  Ljava/lang/String;
            0    2     2  document  Lorg/bson/BSONObject;
    MethodParameters:
          Name  Flags
      name      final
      document  final

  protected boolean putSpecial(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.bson.BasicBSONEncoder this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Object special
         0: .line 505
            iconst_0
            ireturn
        end local 2 // java.lang.Object special
        end local 1 // java.lang.String name
        end local 0 // org.bson.BasicBSONEncoder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/bson/BasicBSONEncoder;
            0    1     1     name  Ljava/lang/String;
            0    1     2  special  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      name     final
      special  final

  protected void putMinKey(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.BasicBSONEncoder this
        start local 1 // java.lang.String name
         0: .line 514
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.bson.BasicBSONEncoder.putName:(Ljava/lang/String;)V
         1: .line 515
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            invokevirtual org.bson.BsonBinaryWriter.writeMinKey:()V
         2: .line 516
            return
        end local 1 // java.lang.String name
        end local 0 // org.bson.BasicBSONEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bson/BasicBSONEncoder;
            0    3     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  final

  protected void putMaxKey(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.BasicBSONEncoder this
        start local 1 // java.lang.String name
         0: .line 524
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.bson.BasicBSONEncoder.putName:(Ljava/lang/String;)V
         1: .line 525
            aload 0 /* this */
            getfield org.bson.BasicBSONEncoder.bsonWriter:Lorg/bson/BsonBinaryWriter;
            invokevirtual org.bson.BsonBinaryWriter.writeMaxKey:()V
         2: .line 526
            return
        end local 1 // java.lang.String name
        end local 0 // org.bson.BasicBSONEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bson/BasicBSONEncoder;
            0    3     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  final

  private static void writeLongToArrayLittleEndian(byte[], int, long);
    descriptor: ([BIJ)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // byte[] bytes
        start local 1 // int offset
        start local 2 // long x
         0: .line 529
            aload 0 /* bytes */
            iload 1 /* offset */
            ldc 255
            lload 2 /* x */
            land
            l2i
            i2b
            bastore
         1: .line 530
            aload 0 /* bytes */
            iload 1 /* offset */
            iconst_1
            iadd
            ldc 255
            lload 2 /* x */
            bipush 8
            lshr
            land
            l2i
            i2b
            bastore
         2: .line 531
            aload 0 /* bytes */
            iload 1 /* offset */
            iconst_2
            iadd
            ldc 255
            lload 2 /* x */
            bipush 16
            lshr
            land
            l2i
            i2b
            bastore
         3: .line 532
            aload 0 /* bytes */
            iload 1 /* offset */
            iconst_3
            iadd
            ldc 255
            lload 2 /* x */
            bipush 24
            lshr
            land
            l2i
            i2b
            bastore
         4: .line 533
            aload 0 /* bytes */
            iload 1 /* offset */
            iconst_4
            iadd
            ldc 255
            lload 2 /* x */
            bipush 32
            lshr
            land
            l2i
            i2b
            bastore
         5: .line 534
            aload 0 /* bytes */
            iload 1 /* offset */
            iconst_5
            iadd
            ldc 255
            lload 2 /* x */
            bipush 40
            lshr
            land
            l2i
            i2b
            bastore
         6: .line 535
            aload 0 /* bytes */
            iload 1 /* offset */
            bipush 6
            iadd
            ldc 255
            lload 2 /* x */
            bipush 48
            lshr
            land
            l2i
            i2b
            bastore
         7: .line 536
            aload 0 /* bytes */
            iload 1 /* offset */
            bipush 7
            iadd
            ldc 255
            lload 2 /* x */
            bipush 56
            lshr
            land
            l2i
            i2b
            bastore
         8: .line 537
            return
        end local 2 // long x
        end local 1 // int offset
        end local 0 // byte[] bytes
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0   bytes  [B
            0    9     1  offset  I
            0    9     2       x  J
    MethodParameters:
        Name  Flags
      bytes   final
      offset  final
      x       final
}
SourceFile: "BasicBSONEncoder.java"
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public final State = org.bson.AbstractBsonWriter$State of org.bson.AbstractBsonWriter
  protected Context = org.bson.BsonBinaryWriter$Context of org.bson.BsonBinaryWriter