public class org.bson.LazyBSONObject implements org.bson.BSONObject
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.bson.LazyBSONObject
  super_class: java.lang.Object
{
  private final byte[] bytes;
    descriptor: [B
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int offset;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.bson.LazyBSONCallback callback;
    descriptor: Lorg/bson/LazyBSONCallback;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static volatile int[] $SWITCH_TABLE$org$bson$BsonType;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  public void <init>(byte[], org.bson.LazyBSONCallback);
    descriptor: ([BLorg/bson/LazyBSONCallback;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.bson.LazyBSONObject this
        start local 1 // byte[] bytes
        start local 2 // org.bson.LazyBSONCallback callback
         0: .line 71
            aload 0 /* this */
            aload 1 /* bytes */
            iconst_0
            aload 2 /* callback */
            invokespecial org.bson.LazyBSONObject.<init>:([BILorg/bson/LazyBSONCallback;)V
         1: .line 72
            return
        end local 2 // org.bson.LazyBSONCallback callback
        end local 1 // byte[] bytes
        end local 0 // org.bson.LazyBSONObject this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/bson/LazyBSONObject;
            0    2     1     bytes  [B
            0    2     2  callback  Lorg/bson/LazyBSONCallback;
    MethodParameters:
          Name  Flags
      bytes     final
      callback  final

  public void <init>(byte[], int, org.bson.LazyBSONCallback);
    descriptor: ([BILorg/bson/LazyBSONCallback;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.bson.LazyBSONObject this
        start local 1 // byte[] bytes
        start local 2 // int offset
        start local 3 // org.bson.LazyBSONCallback callback
         0: .line 81
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 82
            aload 0 /* this */
            aload 1 /* bytes */
            putfield org.bson.LazyBSONObject.bytes:[B
         2: .line 83
            aload 0 /* this */
            aload 3 /* callback */
            putfield org.bson.LazyBSONObject.callback:Lorg/bson/LazyBSONCallback;
         3: .line 84
            aload 0 /* this */
            iload 2 /* offset */
            putfield org.bson.LazyBSONObject.offset:I
         4: .line 85
            return
        end local 3 // org.bson.LazyBSONCallback callback
        end local 2 // int offset
        end local 1 // byte[] bytes
        end local 0 // org.bson.LazyBSONObject this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/bson/LazyBSONObject;
            0    5     1     bytes  [B
            0    5     2    offset  I
            0    5     3  callback  Lorg/bson/LazyBSONCallback;
    MethodParameters:
          Name  Flags
      bytes     final
      offset    final
      callback  final

  protected int getOffset();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bson.LazyBSONObject this
         0: .line 93
            aload 0 /* this */
            getfield org.bson.LazyBSONObject.offset:I
            ireturn
        end local 0 // org.bson.LazyBSONObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/LazyBSONObject;

  protected byte[] getBytes();
    descriptor: ()[B
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bson.LazyBSONObject this
         0: .line 102
            aload 0 /* this */
            getfield org.bson.LazyBSONObject.bytes:[B
            areturn
        end local 0 // org.bson.LazyBSONObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/LazyBSONObject;

  public java.lang.Object get(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.bson.LazyBSONObject this
        start local 1 // java.lang.String key
         0: .line 107
            aload 0 /* this */
            invokevirtual org.bson.LazyBSONObject.getBsonReader:()Lorg/bson/BsonBinaryReader;
            astore 2 /* reader */
        start local 2 // org.bson.BsonBinaryReader reader
         1: .line 110
            aload 2 /* reader */
            invokevirtual org.bson.BsonBinaryReader.readStartDocument:()V
         2: .line 111
            aconst_null
            astore 3 /* value */
        start local 3 // java.lang.Object value
         3: .line 112
            goto 8
         4: .line 113
      StackMap locals: org.bson.BsonBinaryReader java.lang.Object
      StackMap stack:
            aload 1 /* key */
            aload 2 /* reader */
            invokevirtual org.bson.BsonBinaryReader.readName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         5: .line 114
            aload 0 /* this */
            aload 2 /* reader */
            invokevirtual org.bson.LazyBSONObject.readValue:(Lorg/bson/BsonBinaryReader;)Ljava/lang/Object;
            astore 3 /* value */
         6: .line 115
            goto 13
         7: .line 117
      StackMap locals:
      StackMap stack:
            aload 2 /* reader */
            invokevirtual org.bson.BsonBinaryReader.skipValue:()V
         8: .line 112
      StackMap locals:
      StackMap stack:
            aload 2 /* reader */
            invokevirtual org.bson.BsonBinaryReader.readBsonType:()Lorg/bson/BsonType;
            getstatic org.bson.BsonType.END_OF_DOCUMENT:Lorg/bson/BsonType;
            if_acmpne 4
         9: .line 120
            goto 13
        end local 3 // java.lang.Object value
      StackMap locals: org.bson.LazyBSONObject java.lang.String org.bson.BsonBinaryReader
      StackMap stack: java.lang.Throwable
        10: astore 4
        11: .line 121
            aload 2 /* reader */
            invokevirtual org.bson.BsonBinaryReader.close:()V
        12: .line 122
            aload 4
            athrow
        start local 3 // java.lang.Object value
        13: .line 121
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2 /* reader */
            invokevirtual org.bson.BsonBinaryReader.close:()V
        14: .line 123
            aload 3 /* value */
            areturn
        end local 3 // java.lang.Object value
        end local 2 // org.bson.BsonBinaryReader reader
        end local 1 // java.lang.String key
        end local 0 // org.bson.LazyBSONObject this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Lorg/bson/LazyBSONObject;
            0   15     1     key  Ljava/lang/String;
            1   15     2  reader  Lorg/bson/BsonBinaryReader;
            3   10     3   value  Ljava/lang/Object;
           13   15     3   value  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           1    10      10  any
    MethodParameters:
      Name  Flags
      key   final

  public boolean containsKey(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.LazyBSONObject this
        start local 1 // java.lang.String key
         0: .line 129
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.LazyBSONObject.containsField:(Ljava/lang/String;)Z
            ireturn
        end local 1 // java.lang.String key
        end local 0 // org.bson.LazyBSONObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/LazyBSONObject;
            0    1     1   key  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      key   final

  public boolean containsField(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.bson.LazyBSONObject this
        start local 1 // java.lang.String s
         0: .line 134
            aload 0 /* this */
            invokevirtual org.bson.LazyBSONObject.getBsonReader:()Lorg/bson/BsonBinaryReader;
            astore 2 /* reader */
        start local 2 // org.bson.BsonBinaryReader reader
         1: .line 136
            aload 2 /* reader */
            invokevirtual org.bson.BsonBinaryReader.readStartDocument:()V
         2: .line 137
            goto 7
         3: .line 138
      StackMap locals: org.bson.BsonBinaryReader
      StackMap stack:
            aload 2 /* reader */
            invokevirtual org.bson.BsonBinaryReader.readName:()Ljava/lang/String;
            aload 1 /* s */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         4: .line 145
            aload 2 /* reader */
            invokevirtual org.bson.BsonBinaryReader.close:()V
         5: .line 139
            iconst_1
            ireturn
         6: .line 141
      StackMap locals:
      StackMap stack:
            aload 2 /* reader */
            invokevirtual org.bson.BsonBinaryReader.skipValue:()V
         7: .line 137
      StackMap locals:
      StackMap stack:
            aload 2 /* reader */
            invokevirtual org.bson.BsonBinaryReader.readBsonType:()Lorg/bson/BsonType;
            getstatic org.bson.BsonType.END_OF_DOCUMENT:Lorg/bson/BsonType;
            if_acmpne 3
         8: .line 144
            goto 12
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 3
        10: .line 145
            aload 2 /* reader */
            invokevirtual org.bson.BsonBinaryReader.close:()V
        11: .line 146
            aload 3
            athrow
        12: .line 145
      StackMap locals:
      StackMap stack:
            aload 2 /* reader */
            invokevirtual org.bson.BsonBinaryReader.close:()V
        13: .line 147
            iconst_0
            ireturn
        end local 2 // org.bson.BsonBinaryReader reader
        end local 1 // java.lang.String s
        end local 0 // org.bson.LazyBSONObject this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Lorg/bson/LazyBSONObject;
            0   14     1       s  Ljava/lang/String;
            1   14     2  reader  Lorg/bson/BsonBinaryReader;
      Exception table:
        from    to  target  type
           1     4       9  any
           6     9       9  any
    MethodParameters:
      Name  Flags
      s     final

  public java.util.Set<java.lang.String> keySet();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.bson.LazyBSONObject this
         0: .line 152
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 1 /* keys */
        start local 1 // java.util.Set keys
         1: .line 153
            aload 0 /* this */
            invokevirtual org.bson.LazyBSONObject.getBsonReader:()Lorg/bson/BsonBinaryReader;
            astore 2 /* reader */
        start local 2 // org.bson.BsonBinaryReader reader
         2: .line 155
            aload 2 /* reader */
            invokevirtual org.bson.BsonBinaryReader.readStartDocument:()V
         3: .line 156
            goto 6
         4: .line 157
      StackMap locals: java.util.Set org.bson.BsonBinaryReader
      StackMap stack:
            aload 1 /* keys */
            aload 2 /* reader */
            invokevirtual org.bson.BsonBinaryReader.readName:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         5: .line 158
            aload 2 /* reader */
            invokevirtual org.bson.BsonBinaryReader.skipValue:()V
         6: .line 156
      StackMap locals:
      StackMap stack:
            aload 2 /* reader */
            invokevirtual org.bson.BsonBinaryReader.readBsonType:()Lorg/bson/BsonType;
            getstatic org.bson.BsonType.END_OF_DOCUMENT:Lorg/bson/BsonType;
            if_acmpne 4
         7: .line 160
            aload 2 /* reader */
            invokevirtual org.bson.BsonBinaryReader.readEndDocument:()V
         8: .line 161
            goto 12
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 3
        10: .line 162
            aload 2 /* reader */
            invokevirtual org.bson.BsonBinaryReader.close:()V
        11: .line 163
            aload 3
            athrow
        12: .line 162
      StackMap locals:
      StackMap stack:
            aload 2 /* reader */
            invokevirtual org.bson.BsonBinaryReader.close:()V
        13: .line 164
            aload 1 /* keys */
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
            areturn
        end local 2 // org.bson.BsonBinaryReader reader
        end local 1 // java.util.Set keys
        end local 0 // org.bson.LazyBSONObject this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Lorg/bson/LazyBSONObject;
            1   14     1    keys  Ljava/util/Set<Ljava/lang/String;>;
            2   14     2  reader  Lorg/bson/BsonBinaryReader;
      Exception table:
        from    to  target  type
           2     9       9  any
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  java.lang.Object readValue(org.bson.BsonBinaryReader);
    descriptor: (Lorg/bson/BsonBinaryReader;)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // org.bson.LazyBSONObject this
        start local 1 // org.bson.BsonBinaryReader reader
         0: .line 168
            invokestatic org.bson.LazyBSONObject.$SWITCH_TABLE$org$bson$BsonType:()[I
            aload 1 /* reader */
            invokevirtual org.bson.BsonBinaryReader.getCurrentBsonType:()Lorg/bson/BsonType;
            invokevirtual org.bson.BsonType.ordinal:()I
            iaload
            tableswitch { // 2 - 22
                    2: 3
                    3: 4
                    4: 1
                    5: 2
                    6: 5
                    7: 14
                    8: 16
                    9: 17
                   10: 18
                   11: 12
                   12: 19
                   13: 23
                   14: 25
                   15: 26
                   16: 27
                   17: 28
                   18: 29
                   19: 31
                   20: 32
                   21: 33
                   22: 35
              default: 37
          }
         1: .line 170
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* reader */
            invokevirtual org.bson.LazyBSONObject.readDocument:(Lorg/bson/BsonBinaryReader;)Ljava/lang/Object;
            areturn
         2: .line 172
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* reader */
            invokevirtual org.bson.LazyBSONObject.readArray:(Lorg/bson/BsonBinaryReader;)Ljava/lang/Object;
            areturn
         3: .line 174
      StackMap locals:
      StackMap stack:
            aload 1 /* reader */
            invokevirtual org.bson.BsonBinaryReader.readDouble:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
         4: .line 176
      StackMap locals:
      StackMap stack:
            aload 1 /* reader */
            invokevirtual org.bson.BsonBinaryReader.readString:()Ljava/lang/String;
            areturn
         5: .line 178
      StackMap locals:
      StackMap stack:
            aload 1 /* reader */
            invokevirtual org.bson.BsonBinaryReader.peekBinarySubType:()B
            istore 2 /* binarySubType */
        start local 2 // byte binarySubType
         6: .line 179
            iload 2 /* binarySubType */
            invokestatic org.bson.BsonBinarySubType.isUuid:(B)Z
            ifeq 8
            aload 1 /* reader */
            invokevirtual org.bson.BsonBinaryReader.peekBinarySize:()I
            bipush 16
            if_icmpne 8
         7: .line 180
            new org.bson.codecs.UuidCodec
            dup
            getstatic org.bson.UuidRepresentation.JAVA_LEGACY:Lorg/bson/UuidRepresentation;
            invokespecial org.bson.codecs.UuidCodec.<init>:(Lorg/bson/UuidRepresentation;)V
            aload 1 /* reader */
            invokestatic org.bson.codecs.DecoderContext.builder:()Lorg/bson/codecs/DecoderContext$Builder;
            invokevirtual org.bson.codecs.DecoderContext$Builder.build:()Lorg/bson/codecs/DecoderContext;
            invokevirtual org.bson.codecs.UuidCodec.decode:(Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/util/UUID;
            areturn
         8: .line 182
      StackMap locals: int
      StackMap stack:
            aload 1 /* reader */
            invokevirtual org.bson.BsonBinaryReader.readBinaryData:()Lorg/bson/BsonBinary;
            astore 3 /* binary */
        start local 3 // org.bson.BsonBinary binary
         9: .line 183
            iload 2 /* binarySubType */
            getstatic org.bson.BsonBinarySubType.BINARY:Lorg/bson/BsonBinarySubType;
            invokevirtual org.bson.BsonBinarySubType.getValue:()B
            if_icmpeq 10
            iload 2 /* binarySubType */
            getstatic org.bson.BsonBinarySubType.OLD_BINARY:Lorg/bson/BsonBinarySubType;
            invokevirtual org.bson.BsonBinarySubType.getValue:()B
            if_icmpne 11
        10: .line 184
      StackMap locals: org.bson.BsonBinary
      StackMap stack:
            aload 3 /* binary */
            invokevirtual org.bson.BsonBinary.getData:()[B
            areturn
        11: .line 186
      StackMap locals:
      StackMap stack:
            new org.bson.types.Binary
            dup
            aload 3 /* binary */
            invokevirtual org.bson.BsonBinary.getType:()B
            aload 3 /* binary */
            invokevirtual org.bson.BsonBinary.getData:()[B
            invokespecial org.bson.types.Binary.<init>:(B[B)V
            areturn
        end local 3 // org.bson.BsonBinary binary
        end local 2 // byte binarySubType
        12: .line 189
      StackMap locals:
      StackMap stack:
            aload 1 /* reader */
            invokevirtual org.bson.BsonBinaryReader.readNull:()V
        13: .line 190
            aconst_null
            areturn
        14: .line 192
      StackMap locals:
      StackMap stack:
            aload 1 /* reader */
            invokevirtual org.bson.BsonBinaryReader.readUndefined:()V
        15: .line 193
            aconst_null
            areturn
        16: .line 195
      StackMap locals:
      StackMap stack:
            aload 1 /* reader */
            invokevirtual org.bson.BsonBinaryReader.readObjectId:()Lorg/bson/types/ObjectId;
            areturn
        17: .line 197
      StackMap locals:
      StackMap stack:
            aload 1 /* reader */
            invokevirtual org.bson.BsonBinaryReader.readBoolean:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        18: .line 199
      StackMap locals:
      StackMap stack:
            new java.util.Date
            dup
            aload 1 /* reader */
            invokevirtual org.bson.BsonBinaryReader.readDateTime:()J
            invokespecial java.util.Date.<init>:(J)V
            areturn
        19: .line 201
      StackMap locals:
      StackMap stack:
            aload 1 /* reader */
            invokevirtual org.bson.BsonBinaryReader.readRegularExpression:()Lorg/bson/BsonRegularExpression;
            astore 4 /* regularExpression */
        start local 4 // org.bson.BsonRegularExpression regularExpression
        20: .line 203
            aload 4 /* regularExpression */
            invokevirtual org.bson.BsonRegularExpression.getPattern:()Ljava/lang/String;
        21: .line 204
            aload 4 /* regularExpression */
            invokevirtual org.bson.BsonRegularExpression.getOptions:()Ljava/lang/String;
            invokestatic org.bson.BSON.regexFlags:(Ljava/lang/String;)I
        22: .line 202
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;I)Ljava/util/regex/Pattern;
            areturn
        end local 4 // org.bson.BsonRegularExpression regularExpression
        23: .line 207
      StackMap locals:
      StackMap stack:
            aload 1 /* reader */
            invokevirtual org.bson.BsonBinaryReader.readDBPointer:()Lorg/bson/BsonDbPointer;
            astore 5 /* dbPointer */
        start local 5 // org.bson.BsonDbPointer dbPointer
        24: .line 208
            aload 0 /* this */
            getfield org.bson.LazyBSONObject.callback:Lorg/bson/LazyBSONCallback;
            aload 5 /* dbPointer */
            invokevirtual org.bson.BsonDbPointer.getNamespace:()Ljava/lang/String;
            aload 5 /* dbPointer */
            invokevirtual org.bson.BsonDbPointer.getId:()Lorg/bson/types/ObjectId;
            invokevirtual org.bson.LazyBSONCallback.createDBRef:(Ljava/lang/String;Lorg/bson/types/ObjectId;)Ljava/lang/Object;
            areturn
        end local 5 // org.bson.BsonDbPointer dbPointer
        25: .line 210
      StackMap locals:
      StackMap stack:
            new org.bson.types.Code
            dup
            aload 1 /* reader */
            invokevirtual org.bson.BsonBinaryReader.readJavaScript:()Ljava/lang/String;
            invokespecial org.bson.types.Code.<init>:(Ljava/lang/String;)V
            areturn
        26: .line 212
      StackMap locals:
      StackMap stack:
            new org.bson.types.Symbol
            dup
            aload 1 /* reader */
            invokevirtual org.bson.BsonBinaryReader.readSymbol:()Ljava/lang/String;
            invokespecial org.bson.types.Symbol.<init>:(Ljava/lang/String;)V
            areturn
        27: .line 214
      StackMap locals:
      StackMap stack:
            new org.bson.types.CodeWScope
            dup
            aload 1 /* reader */
            invokevirtual org.bson.BsonBinaryReader.readJavaScriptWithScope:()Ljava/lang/String;
            aload 0 /* this */
            aload 1 /* reader */
            invokevirtual org.bson.LazyBSONObject.readJavaScriptWithScopeDocument:(Lorg/bson/BsonBinaryReader;)Ljava/lang/Object;
            checkcast org.bson.BSONObject
            invokespecial org.bson.types.CodeWScope.<init>:(Ljava/lang/String;Lorg/bson/BSONObject;)V
            areturn
        28: .line 216
      StackMap locals:
      StackMap stack:
            aload 1 /* reader */
            invokevirtual org.bson.BsonBinaryReader.readInt32:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        29: .line 218
      StackMap locals:
      StackMap stack:
            aload 1 /* reader */
            invokevirtual org.bson.BsonBinaryReader.readTimestamp:()Lorg/bson/BsonTimestamp;
            astore 6 /* timestamp */
        start local 6 // org.bson.BsonTimestamp timestamp
        30: .line 219
            new org.bson.types.BSONTimestamp
            dup
            aload 6 /* timestamp */
            invokevirtual org.bson.BsonTimestamp.getTime:()I
            aload 6 /* timestamp */
            invokevirtual org.bson.BsonTimestamp.getInc:()I
            invokespecial org.bson.types.BSONTimestamp.<init>:(II)V
            areturn
        end local 6 // org.bson.BsonTimestamp timestamp
        31: .line 221
      StackMap locals:
      StackMap stack:
            aload 1 /* reader */
            invokevirtual org.bson.BsonBinaryReader.readInt64:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            areturn
        32: .line 223
      StackMap locals:
      StackMap stack:
            aload 1 /* reader */
            invokevirtual org.bson.BsonBinaryReader.readDecimal128:()Lorg/bson/types/Decimal128;
            areturn
        33: .line 225
      StackMap locals:
      StackMap stack:
            aload 1 /* reader */
            invokevirtual org.bson.BsonBinaryReader.readMinKey:()V
        34: .line 226
            new org.bson.types.MinKey
            dup
            invokespecial org.bson.types.MinKey.<init>:()V
            areturn
        35: .line 228
      StackMap locals:
      StackMap stack:
            aload 1 /* reader */
            invokevirtual org.bson.BsonBinaryReader.readMaxKey:()V
        36: .line 229
            new org.bson.types.MaxKey
            dup
            invokespecial org.bson.types.MaxKey.<init>:()V
            areturn
        37: .line 231
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unhandled BSON type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* reader */
            invokevirtual org.bson.BsonBinaryReader.getCurrentBsonType:()Lorg/bson/BsonType;
            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
        end local 1 // org.bson.BsonBinaryReader reader
        end local 0 // org.bson.LazyBSONObject this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   38     0               this  Lorg/bson/LazyBSONObject;
            0   38     1             reader  Lorg/bson/BsonBinaryReader;
            6   12     2      binarySubType  B
            9   12     3             binary  Lorg/bson/BsonBinary;
           20   23     4  regularExpression  Lorg/bson/BsonRegularExpression;
           24   25     5          dbPointer  Lorg/bson/BsonDbPointer;
           30   31     6          timestamp  Lorg/bson/BsonTimestamp;
    MethodParameters:
        Name  Flags
      reader  final

  private java.lang.Object readArray(org.bson.BsonBinaryReader);
    descriptor: (Lorg/bson/BsonBinaryReader;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.bson.LazyBSONObject this
        start local 1 // org.bson.BsonBinaryReader reader
         0: .line 236
            aload 1 /* reader */
            invokevirtual org.bson.BsonBinaryReader.getBsonInput:()Lorg/bson/io/BsonInput;
            invokeinterface org.bson.io.BsonInput.getPosition:()I
            istore 2 /* position */
        start local 2 // int position
         1: .line 237
            aload 1 /* reader */
            invokevirtual org.bson.BsonBinaryReader.skipValue:()V
         2: .line 238
            aload 0 /* this */
            getfield org.bson.LazyBSONObject.callback:Lorg/bson/LazyBSONCallback;
            aload 0 /* this */
            getfield org.bson.LazyBSONObject.bytes:[B
            aload 0 /* this */
            getfield org.bson.LazyBSONObject.offset:I
            iload 2 /* position */
            iadd
            invokevirtual org.bson.LazyBSONCallback.createArray:([BI)Ljava/util/List;
            areturn
        end local 2 // int position
        end local 1 // org.bson.BsonBinaryReader reader
        end local 0 // org.bson.LazyBSONObject this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/bson/LazyBSONObject;
            0    3     1    reader  Lorg/bson/BsonBinaryReader;
            1    3     2  position  I
    MethodParameters:
        Name  Flags
      reader  final

  private java.lang.Object readDocument(org.bson.BsonBinaryReader);
    descriptor: (Lorg/bson/BsonBinaryReader;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.bson.LazyBSONObject this
        start local 1 // org.bson.BsonBinaryReader reader
         0: .line 242
            aload 1 /* reader */
            invokevirtual org.bson.BsonBinaryReader.getBsonInput:()Lorg/bson/io/BsonInput;
            invokeinterface org.bson.io.BsonInput.getPosition:()I
            istore 2 /* position */
        start local 2 // int position
         1: .line 243
            aload 1 /* reader */
            invokevirtual org.bson.BsonBinaryReader.skipValue:()V
         2: .line 244
            aload 0 /* this */
            getfield org.bson.LazyBSONObject.callback:Lorg/bson/LazyBSONCallback;
            aload 0 /* this */
            getfield org.bson.LazyBSONObject.bytes:[B
            aload 0 /* this */
            getfield org.bson.LazyBSONObject.offset:I
            iload 2 /* position */
            iadd
            invokevirtual org.bson.LazyBSONCallback.createObject:([BI)Ljava/lang/Object;
            areturn
        end local 2 // int position
        end local 1 // org.bson.BsonBinaryReader reader
        end local 0 // org.bson.LazyBSONObject this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/bson/LazyBSONObject;
            0    3     1    reader  Lorg/bson/BsonBinaryReader;
            1    3     2  position  I
    MethodParameters:
        Name  Flags
      reader  final

  private java.lang.Object readJavaScriptWithScopeDocument(org.bson.BsonBinaryReader);
    descriptor: (Lorg/bson/BsonBinaryReader;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.bson.LazyBSONObject this
        start local 1 // org.bson.BsonBinaryReader reader
         0: .line 248
            aload 1 /* reader */
            invokevirtual org.bson.BsonBinaryReader.getBsonInput:()Lorg/bson/io/BsonInput;
            invokeinterface org.bson.io.BsonInput.getPosition:()I
            istore 2 /* position */
        start local 2 // int position
         1: .line 249
            aload 1 /* reader */
            invokevirtual org.bson.BsonBinaryReader.readStartDocument:()V
         2: .line 250
            goto 5
         3: .line 251
      StackMap locals: int
      StackMap stack:
            aload 1 /* reader */
            invokevirtual org.bson.BsonBinaryReader.skipName:()V
         4: .line 252
            aload 1 /* reader */
            invokevirtual org.bson.BsonBinaryReader.skipValue:()V
         5: .line 250
      StackMap locals:
      StackMap stack:
            aload 1 /* reader */
            invokevirtual org.bson.BsonBinaryReader.readBsonType:()Lorg/bson/BsonType;
            getstatic org.bson.BsonType.END_OF_DOCUMENT:Lorg/bson/BsonType;
            if_acmpne 3
         6: .line 254
            aload 1 /* reader */
            invokevirtual org.bson.BsonBinaryReader.readEndDocument:()V
         7: .line 255
            aload 0 /* this */
            getfield org.bson.LazyBSONObject.callback:Lorg/bson/LazyBSONCallback;
            aload 0 /* this */
            getfield org.bson.LazyBSONObject.bytes:[B
            aload 0 /* this */
            getfield org.bson.LazyBSONObject.offset:I
            iload 2 /* position */
            iadd
            invokevirtual org.bson.LazyBSONCallback.createObject:([BI)Ljava/lang/Object;
            areturn
        end local 2 // int position
        end local 1 // org.bson.BsonBinaryReader reader
        end local 0 // org.bson.LazyBSONObject this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/bson/LazyBSONObject;
            0    8     1    reader  Lorg/bson/BsonBinaryReader;
            1    8     2  position  I
    MethodParameters:
        Name  Flags
      reader  final

  org.bson.BsonBinaryReader getBsonReader();
    descriptor: ()Lorg/bson/BsonBinaryReader;
    flags: (0x0000) 
    Code:
      stack=7, locals=2, args_size=1
        start local 0 // org.bson.LazyBSONObject this
         0: .line 259
            aload 0 /* this */
            invokevirtual org.bson.LazyBSONObject.getBufferForInternalBytes:()Ljava/nio/ByteBuffer;
            astore 1 /* buffer */
        start local 1 // java.nio.ByteBuffer buffer
         1: .line 260
            new org.bson.BsonBinaryReader
            dup
            new org.bson.io.ByteBufferBsonInput
            dup
            new org.bson.ByteBufNIO
            dup
            aload 1 /* buffer */
            invokespecial org.bson.ByteBufNIO.<init>:(Ljava/nio/ByteBuffer;)V
            invokespecial org.bson.io.ByteBufferBsonInput.<init>:(Lorg/bson/ByteBuf;)V
            invokespecial org.bson.BsonBinaryReader.<init>:(Lorg/bson/io/BsonInput;)V
            areturn
        end local 1 // java.nio.ByteBuffer buffer
        end local 0 // org.bson.LazyBSONObject this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/bson/LazyBSONObject;
            1    2     1  buffer  Ljava/nio/ByteBuffer;

  private java.nio.ByteBuffer getBufferForInternalBytes();
    descriptor: ()Ljava/nio/ByteBuffer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.bson.LazyBSONObject this
         0: .line 264
            aload 0 /* this */
            getfield org.bson.LazyBSONObject.bytes:[B
            aload 0 /* this */
            getfield org.bson.LazyBSONObject.offset:I
            aload 0 /* this */
            getfield org.bson.LazyBSONObject.bytes:[B
            arraylength
            aload 0 /* this */
            getfield org.bson.LazyBSONObject.offset:I
            isub
            invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.slice:()Ljava/nio/ByteBuffer;
            astore 1 /* buffer */
        start local 1 // java.nio.ByteBuffer buffer
         1: .line 265
            aload 1 /* buffer */
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            pop
         2: .line 266
            aload 1 /* buffer */
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.getInt:()I
            invokevirtual java.nio.Buffer.limit:(I)Ljava/nio/Buffer;
            pop
         3: .line 267
            aload 1 /* buffer */
            invokevirtual java.nio.Buffer.rewind:()Ljava/nio/Buffer;
            pop
         4: .line 268
            aload 1 /* buffer */
            areturn
        end local 1 // java.nio.ByteBuffer buffer
        end local 0 // org.bson.LazyBSONObject this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/bson/LazyBSONObject;
            1    5     1  buffer  Ljava/nio/ByteBuffer;

  public boolean isEmpty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bson.LazyBSONObject this
         0: .line 277
            aload 0 /* this */
            invokevirtual org.bson.LazyBSONObject.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.bson.LazyBSONObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bson/LazyBSONObject;

  public int getBSONSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bson.LazyBSONObject this
         0: .line 286
            aload 0 /* this */
            invokevirtual org.bson.LazyBSONObject.getBufferForInternalBytes:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.getInt:()I
            ireturn
        end local 0 // org.bson.LazyBSONObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/LazyBSONObject;

  public int pipe(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.bson.LazyBSONObject this
        start local 1 // java.io.OutputStream os
         0: .line 297
            aload 1 /* os */
            invokestatic java.nio.channels.Channels.newChannel:(Ljava/io/OutputStream;)Ljava/nio/channels/WritableByteChannel;
            astore 2 /* channel */
        start local 2 // java.nio.channels.WritableByteChannel channel
         1: .line 298
            aload 2 /* channel */
            aload 0 /* this */
            invokevirtual org.bson.LazyBSONObject.getBufferForInternalBytes:()Ljava/nio/ByteBuffer;
            invokeinterface java.nio.channels.WritableByteChannel.write:(Ljava/nio/ByteBuffer;)I
            ireturn
        end local 2 // java.nio.channels.WritableByteChannel channel
        end local 1 // java.io.OutputStream os
        end local 0 // org.bson.LazyBSONObject this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/bson/LazyBSONObject;
            0    2     1       os  Ljava/io/OutputStream;
            1    2     2  channel  Ljava/nio/channels/WritableByteChannel;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      os    final

  public java.util.Set<java.util.Map$Entry<java.lang.String, java.lang.Object>> entrySet();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // org.bson.LazyBSONObject this
         0: .line 307
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* entries */
        start local 1 // java.util.List entries
         1: .line 308
            aload 0 /* this */
            invokevirtual org.bson.LazyBSONObject.getBsonReader:()Lorg/bson/BsonBinaryReader;
            astore 2 /* reader */
        start local 2 // org.bson.BsonBinaryReader reader
         2: .line 310
            aload 2 /* reader */
            invokevirtual org.bson.BsonBinaryReader.readStartDocument:()V
         3: .line 311
            goto 5
         4: .line 312
      StackMap locals: java.util.List org.bson.BsonBinaryReader
      StackMap stack:
            aload 1 /* entries */
            new java.util.AbstractMap$SimpleImmutableEntry
            dup
            aload 2 /* reader */
            invokevirtual org.bson.BsonBinaryReader.readName:()Ljava/lang/String;
            aload 0 /* this */
            aload 2 /* reader */
            invokevirtual org.bson.LazyBSONObject.readValue:(Lorg/bson/BsonBinaryReader;)Ljava/lang/Object;
            invokespecial java.util.AbstractMap$SimpleImmutableEntry.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 311
      StackMap locals:
      StackMap stack:
            aload 2 /* reader */
            invokevirtual org.bson.BsonBinaryReader.readBsonType:()Lorg/bson/BsonType;
            getstatic org.bson.BsonType.END_OF_DOCUMENT:Lorg/bson/BsonType;
            if_acmpne 4
         6: .line 314
            aload 2 /* reader */
            invokevirtual org.bson.BsonBinaryReader.readEndDocument:()V
         7: .line 315
            goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 3
         9: .line 316
            aload 2 /* reader */
            invokevirtual org.bson.BsonBinaryReader.close:()V
        10: .line 317
            aload 3
            athrow
        11: .line 316
      StackMap locals:
      StackMap stack:
            aload 2 /* reader */
            invokevirtual org.bson.BsonBinaryReader.close:()V
        12: .line 318
            new org.bson.LazyBSONObject$1
            dup
            aload 0 /* this */
            aload 1 /* entries */
            invokespecial org.bson.LazyBSONObject$1.<init>:(Lorg/bson/LazyBSONObject;Ljava/util/List;)V
            areturn
        end local 2 // org.bson.BsonBinaryReader reader
        end local 1 // java.util.List entries
        end local 0 // org.bson.LazyBSONObject this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lorg/bson/LazyBSONObject;
            1   13     1  entries  Ljava/util/List<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Object;>;>;
            2   13     2   reader  Lorg/bson/BsonBinaryReader;
      Exception table:
        from    to  target  type
           2     8       8  any
    Signature: ()Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Object;>;>;

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.bson.LazyBSONObject this
         0: .line 388
            iconst_1
            istore 1 /* result */
        start local 1 // int result
         1: .line 389
            aload 0 /* this */
            invokevirtual org.bson.LazyBSONObject.getBSONSize:()I
            istore 2 /* size */
        start local 2 // int size
         2: .line 390
            aload 0 /* this */
            getfield org.bson.LazyBSONObject.offset:I
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 391
      StackMap locals: int int int
      StackMap stack:
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield org.bson.LazyBSONObject.bytes:[B
            iload 3 /* i */
            baload
            iadd
            istore 1 /* result */
         5: .line 390
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 0 /* this */
            getfield org.bson.LazyBSONObject.offset:I
            iload 2 /* size */
            iadd
            if_icmplt 4
        end local 3 // int i
         7: .line 393
            iload 1 /* result */
            ireturn
        end local 2 // int size
        end local 1 // int result
        end local 0 // org.bson.LazyBSONObject this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/bson/LazyBSONObject;
            1    8     1  result  I
            2    8     2    size  I
            3    7     3       i  I

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.bson.LazyBSONObject this
        start local 1 // java.lang.Object o
         0: .line 398
            aload 0 /* this */
            aload 1 /* o */
            if_acmpne 2
         1: .line 399
            iconst_1
            ireturn
         2: .line 401
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            ifnull 3
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 1 /* o */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            if_acmpeq 4
         3: .line 402
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 404
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast org.bson.LazyBSONObject
            astore 2 /* other */
        start local 2 // org.bson.LazyBSONObject other
         5: .line 406
            aload 0 /* this */
            getfield org.bson.LazyBSONObject.bytes:[B
            aload 2 /* other */
            getfield org.bson.LazyBSONObject.bytes:[B
            if_acmpne 7
            aload 0 /* this */
            getfield org.bson.LazyBSONObject.offset:I
            aload 2 /* other */
            getfield org.bson.LazyBSONObject.offset:I
            if_icmpne 7
         6: .line 407
            iconst_1
            ireturn
         7: .line 409
      StackMap locals: org.bson.LazyBSONObject
      StackMap stack:
            aload 0 /* this */
            getfield org.bson.LazyBSONObject.bytes:[B
            ifnull 8
            aload 2 /* other */
            getfield org.bson.LazyBSONObject.bytes:[B
            ifnonnull 9
         8: .line 410
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         9: .line 413
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bson.LazyBSONObject.bytes:[B
            arraylength
            ifeq 10
            aload 2 /* other */
            getfield org.bson.LazyBSONObject.bytes:[B
            arraylength
            ifne 11
        10: .line 414
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        11: .line 418
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bson.LazyBSONObject.bytes:[B
            aload 0 /* this */
            getfield org.bson.LazyBSONObject.offset:I
            baload
            istore 3 /* length */
        start local 3 // int length
        12: .line 419
            aload 2 /* other */
            getfield org.bson.LazyBSONObject.bytes:[B
            aload 2 /* other */
            getfield org.bson.LazyBSONObject.offset:I
            baload
            iload 3 /* length */
            if_icmpeq 14
        13: .line 420
            iconst_0
            ireturn
        14: .line 424
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        15: goto 19
        16: .line 425
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.bson.LazyBSONObject.bytes:[B
            aload 0 /* this */
            getfield org.bson.LazyBSONObject.offset:I
            iload 4 /* i */
            iadd
            baload
            aload 2 /* other */
            getfield org.bson.LazyBSONObject.bytes:[B
            aload 2 /* other */
            getfield org.bson.LazyBSONObject.offset:I
            iload 4 /* i */
            iadd
            baload
            if_icmpeq 18
        17: .line 426
            iconst_0
            ireturn
        18: .line 424
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 4 /* i */
            iload 3 /* length */
            if_icmplt 16
        end local 4 // int i
        20: .line 430
            iconst_1
            ireturn
        end local 3 // int length
        end local 2 // org.bson.LazyBSONObject other
        end local 1 // java.lang.Object o
        end local 0 // org.bson.LazyBSONObject this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   21     0    this  Lorg/bson/LazyBSONObject;
            0   21     1       o  Ljava/lang/Object;
            5   21     2   other  Lorg/bson/LazyBSONObject;
           12   21     3  length  I
           15   20     4       i  I
    MethodParameters:
      Name  Flags
      o     final

  public java.lang.Object put(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.bson.LazyBSONObject this
        start local 1 // java.lang.String key
        start local 2 // java.lang.Object v
         0: .line 446
            new java.lang.UnsupportedOperationException
            dup
            ldc "Object is read only"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.Object v
        end local 1 // java.lang.String key
        end local 0 // org.bson.LazyBSONObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/LazyBSONObject;
            0    1     1   key  Ljava/lang/String;
            0    1     2     v  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   final
      v     final

  public void putAll(org.bson.BSONObject);
    descriptor: (Lorg/bson/BSONObject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.bson.LazyBSONObject this
        start local 1 // org.bson.BSONObject o
         0: .line 457
            new java.lang.UnsupportedOperationException
            dup
            ldc "Object is read only"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // org.bson.BSONObject o
        end local 0 // org.bson.LazyBSONObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/LazyBSONObject;
            0    1     1     o  Lorg/bson/BSONObject;
    MethodParameters:
      Name  Flags
      o     final

  public void putAll(java.util.Map);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.bson.LazyBSONObject this
        start local 1 // java.util.Map m
         0: .line 468
            new java.lang.UnsupportedOperationException
            dup
            ldc "Object is read only"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.util.Map m
        end local 0 // org.bson.LazyBSONObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/LazyBSONObject;
            0    1     1     m  Ljava/util/Map;
    MethodParameters:
      Name  Flags
      m     final

  public java.lang.Object removeField(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.bson.LazyBSONObject this
        start local 1 // java.lang.String key
         0: .line 480
            new java.lang.UnsupportedOperationException
            dup
            ldc "Object is read only"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String key
        end local 0 // org.bson.LazyBSONObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/LazyBSONObject;
            0    1     1   key  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      key   final

  public java.util.Map toMap();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.bson.LazyBSONObject this
         0: .line 486
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            astore 1 /* map */
        start local 1 // java.util.Map map
         1: .line 487
            aload 0 /* this */
            invokevirtual org.bson.LazyBSONObject.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: org.bson.LazyBSONObject java.util.Map top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* entry */
        start local 2 // java.util.Map$Entry entry
         3: .line 488
            aload 1 /* map */
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 2 // java.util.Map$Entry entry
         4: .line 487
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 490
            aload 1 /* map */
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            areturn
        end local 1 // java.util.Map map
        end local 0 // org.bson.LazyBSONObject this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/bson/LazyBSONObject;
            1    6     1    map  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            3    4     2  entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Object;>;

  static int[] $SWITCH_TABLE$org$bson$BsonType();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 58
            getstatic org.bson.LazyBSONObject.$SWITCH_TABLE$org$bson$BsonType:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.bson.BsonType.values:()[Lorg/bson/BsonType;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.bson.BsonType.ARRAY:Lorg/bson/BsonType;
            invokevirtual org.bson.BsonType.ordinal:()I
            iconst_5
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.bson.BsonType.BINARY:Lorg/bson/BsonType;
            invokevirtual org.bson.BsonType.ordinal:()I
            bipush 6
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.bson.BsonType.BOOLEAN:Lorg/bson/BsonType;
            invokevirtual org.bson.BsonType.ordinal:()I
            bipush 9
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.bson.BsonType.DATE_TIME:Lorg/bson/BsonType;
            invokevirtual org.bson.BsonType.ordinal:()I
            bipush 10
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic org.bson.BsonType.DB_POINTER:Lorg/bson/BsonType;
            invokevirtual org.bson.BsonType.ordinal:()I
            bipush 13
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic org.bson.BsonType.DECIMAL128:Lorg/bson/BsonType;
            invokevirtual org.bson.BsonType.ordinal:()I
            bipush 20
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic org.bson.BsonType.DOCUMENT:Lorg/bson/BsonType;
            invokevirtual org.bson.BsonType.ordinal:()I
            iconst_4
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic org.bson.BsonType.DOUBLE:Lorg/bson/BsonType;
            invokevirtual org.bson.BsonType.ordinal:()I
            iconst_2
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic org.bson.BsonType.END_OF_DOCUMENT:Lorg/bson/BsonType;
            invokevirtual org.bson.BsonType.ordinal:()I
            iconst_1
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic org.bson.BsonType.INT32:Lorg/bson/BsonType;
            invokevirtual org.bson.BsonType.ordinal:()I
            bipush 17
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic org.bson.BsonType.INT64:Lorg/bson/BsonType;
            invokevirtual org.bson.BsonType.ordinal:()I
            bipush 19
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            getstatic org.bson.BsonType.JAVASCRIPT:Lorg/bson/BsonType;
            invokevirtual org.bson.BsonType.ordinal:()I
            bipush 14
            iastore
        36: goto 38
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        37: pop
      StackMap locals:
      StackMap stack:
        38: aload 0
            getstatic org.bson.BsonType.JAVASCRIPT_WITH_SCOPE:Lorg/bson/BsonType;
            invokevirtual org.bson.BsonType.ordinal:()I
            bipush 16
            iastore
        39: goto 41
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        40: pop
      StackMap locals:
      StackMap stack:
        41: aload 0
            getstatic org.bson.BsonType.MAX_KEY:Lorg/bson/BsonType;
            invokevirtual org.bson.BsonType.ordinal:()I
            bipush 22
            iastore
        42: goto 44
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        43: pop
      StackMap locals:
      StackMap stack:
        44: aload 0
            getstatic org.bson.BsonType.MIN_KEY:Lorg/bson/BsonType;
            invokevirtual org.bson.BsonType.ordinal:()I
            bipush 21
            iastore
        45: goto 47
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        46: pop
      StackMap locals:
      StackMap stack:
        47: aload 0
            getstatic org.bson.BsonType.NULL:Lorg/bson/BsonType;
            invokevirtual org.bson.BsonType.ordinal:()I
            bipush 11
            iastore
        48: goto 50
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        49: pop
      StackMap locals:
      StackMap stack:
        50: aload 0
            getstatic org.bson.BsonType.OBJECT_ID:Lorg/bson/BsonType;
            invokevirtual org.bson.BsonType.ordinal:()I
            bipush 8
            iastore
        51: goto 53
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        52: pop
      StackMap locals:
      StackMap stack:
        53: aload 0
            getstatic org.bson.BsonType.REGULAR_EXPRESSION:Lorg/bson/BsonType;
            invokevirtual org.bson.BsonType.ordinal:()I
            bipush 12
            iastore
        54: goto 56
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        55: pop
      StackMap locals:
      StackMap stack:
        56: aload 0
            getstatic org.bson.BsonType.STRING:Lorg/bson/BsonType;
            invokevirtual org.bson.BsonType.ordinal:()I
            iconst_3
            iastore
        57: goto 59
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        58: pop
      StackMap locals:
      StackMap stack:
        59: aload 0
            getstatic org.bson.BsonType.SYMBOL:Lorg/bson/BsonType;
            invokevirtual org.bson.BsonType.ordinal:()I
            bipush 15
            iastore
        60: goto 62
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        61: pop
      StackMap locals:
      StackMap stack:
        62: aload 0
            getstatic org.bson.BsonType.TIMESTAMP:Lorg/bson/BsonType;
            invokevirtual org.bson.BsonType.ordinal:()I
            bipush 18
            iastore
        63: goto 65
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        64: pop
      StackMap locals:
      StackMap stack:
        65: aload 0
            getstatic org.bson.BsonType.UNDEFINED:Lorg/bson/BsonType;
            invokevirtual org.bson.BsonType.ordinal:()I
            bipush 7
            iastore
        66: goto 68
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        67: pop
      StackMap locals:
      StackMap stack:
        68: aload 0
            dup
            putstatic org.bson.LazyBSONObject.$SWITCH_TABLE$org$bson$BsonType:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
          35    36      37  Class java.lang.NoSuchFieldError
          38    39      40  Class java.lang.NoSuchFieldError
          41    42      43  Class java.lang.NoSuchFieldError
          44    45      46  Class java.lang.NoSuchFieldError
          47    48      49  Class java.lang.NoSuchFieldError
          50    51      52  Class java.lang.NoSuchFieldError
          53    54      55  Class java.lang.NoSuchFieldError
          56    57      58  Class java.lang.NoSuchFieldError
          59    60      61  Class java.lang.NoSuchFieldError
          62    63      64  Class java.lang.NoSuchFieldError
          65    66      67  Class java.lang.NoSuchFieldError
}
SourceFile: "LazyBSONObject.java"
NestMembers:
  org.bson.LazyBSONObject$1
InnerClasses:
  public SimpleImmutableEntry = java.util.AbstractMap$SimpleImmutableEntry of java.util.AbstractMap
  public abstract Entry = java.util.Map$Entry of java.util.Map
  org.bson.LazyBSONObject$1
  public final Builder = org.bson.codecs.DecoderContext$Builder of org.bson.codecs.DecoderContext