public class org.bson.BsonDocument extends org.bson.BsonValue implements java.util.Map<java.lang.String, org.bson.BsonValue>, java.lang.Cloneable, org.bson.conversions.Bson, java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.bson.BsonDocument
  super_class: org.bson.BsonValue
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private final java.util.Map<java.lang.String, org.bson.BsonValue> map;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/bson/BsonValue;>;

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

  public static org.bson.BsonDocument parse(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/bson/BsonDocument;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.String json
         0: .line 62
            new org.bson.codecs.BsonDocumentCodec
            dup
            invokespecial org.bson.codecs.BsonDocumentCodec.<init>:()V
            new org.bson.json.JsonReader
            dup
            aload 0 /* json */
            invokespecial org.bson.json.JsonReader.<init>:(Ljava/lang/String;)V
            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.BsonDocumentCodec.decode:(Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Lorg/bson/BsonDocument;
            areturn
        end local 0 // java.lang.String json
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  json  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      json  final

  public void <init>(java.util.List<org.bson.BsonElement>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.util.List bsonElements
         0: .line 70
            aload 0 /* this */
            invokespecial org.bson.BsonValue.<init>:()V
         1: .line 51
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield org.bson.BsonDocument.map:Ljava/util/Map;
         2: .line 71
            aload 1 /* bsonElements */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: org.bson.BsonDocument java.util.List top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.bson.BsonElement
            astore 2 /* cur */
        start local 2 // org.bson.BsonElement cur
         4: .line 72
            aload 0 /* this */
            aload 2 /* cur */
            invokevirtual org.bson.BsonElement.getName:()Ljava/lang/String;
            aload 2 /* cur */
            invokevirtual org.bson.BsonElement.getValue:()Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonDocument.put:(Ljava/lang/String;Lorg/bson/BsonValue;)Lorg/bson/BsonValue;
            pop
        end local 2 // org.bson.BsonElement cur
         5: .line 71
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 74
            return
        end local 1 // java.util.List bsonElements
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Lorg/bson/BsonDocument;
            0    7     1  bsonElements  Ljava/util/List<Lorg/bson/BsonElement;>;
            4    5     2           cur  Lorg/bson/BsonElement;
    Signature: (Ljava/util/List<Lorg/bson/BsonElement;>;)V
    MethodParameters:
              Name  Flags
      bsonElements  final

  public void <init>(java.lang.String, org.bson.BsonValue);
    descriptor: (Ljava/lang/String;Lorg/bson/BsonValue;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.String key
        start local 2 // org.bson.BsonValue value
         0: .line 82
            aload 0 /* this */
            invokespecial org.bson.BsonValue.<init>:()V
         1: .line 51
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield org.bson.BsonDocument.map:Ljava/util/Map;
         2: .line 83
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* value */
            invokevirtual org.bson.BsonDocument.put:(Ljava/lang/String;Lorg/bson/BsonValue;)Lorg/bson/BsonValue;
            pop
         3: .line 84
            return
        end local 2 // org.bson.BsonValue value
        end local 1 // java.lang.String key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/bson/BsonDocument;
            0    4     1    key  Ljava/lang/String;
            0    4     2  value  Lorg/bson/BsonValue;
    MethodParameters:
       Name  Flags
      key    final
      value  final

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.bson.BsonDocument this
         0: .line 89
            aload 0 /* this */
            invokespecial org.bson.BsonValue.<init>:()V
         1: .line 51
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield org.bson.BsonDocument.map:Ljava/util/Map;
         2: .line 90
            return
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bson/BsonDocument;

  public <C> org.bson.BsonDocument toBsonDocument(java.lang.Class<C>, org.bson.codecs.configuration.CodecRegistry);
    descriptor: (Ljava/lang/Class;Lorg/bson/codecs/configuration/CodecRegistry;)Lorg/bson/BsonDocument;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Class documentClass
        start local 2 // org.bson.codecs.configuration.CodecRegistry codecRegistry
         0: .line 94
            aload 0 /* this */
            areturn
        end local 2 // org.bson.codecs.configuration.CodecRegistry codecRegistry
        end local 1 // java.lang.Class documentClass
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/bson/BsonDocument;
            0    1     1  documentClass  Ljava/lang/Class<TC;>;
            0    1     2  codecRegistry  Lorg/bson/codecs/configuration/CodecRegistry;
    Signature: <C:Ljava/lang/Object;>(Ljava/lang/Class<TC;>;Lorg/bson/codecs/configuration/CodecRegistry;)Lorg/bson/BsonDocument;
    MethodParameters:
               Name  Flags
      documentClass  final
      codecRegistry  final

  public org.bson.BsonType getBsonType();
    descriptor: ()Lorg/bson/BsonType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bson.BsonDocument this
         0: .line 99
            getstatic org.bson.BsonType.DOCUMENT:Lorg/bson/BsonType;
            areturn
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/BsonDocument;

  public int size();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bson.BsonDocument this
         0: .line 104
            aload 0 /* this */
            getfield org.bson.BsonDocument.map:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            ireturn
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/BsonDocument;

  public boolean isEmpty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bson.BsonDocument this
         0: .line 109
            aload 0 /* this */
            getfield org.bson.BsonDocument.map:Ljava/util/Map;
            invokeinterface java.util.Map.isEmpty:()Z
            ireturn
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/BsonDocument;

  public boolean containsKey(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
         0: .line 114
            aload 0 /* this */
            getfield org.bson.BsonDocument.map:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/BsonDocument;
            0    1     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   final

  public boolean containsValue(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object value
         0: .line 119
            aload 0 /* this */
            getfield org.bson.BsonDocument.map:Ljava/util/Map;
            aload 1 /* value */
            invokeinterface java.util.Map.containsValue:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object value
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/bson/BsonDocument;
            0    1     1  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  final

  public org.bson.BsonValue get(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/bson/BsonValue;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
         0: .line 124
            aload 0 /* this */
            getfield org.bson.BsonDocument.map:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.bson.BsonValue
            areturn
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/BsonDocument;
            0    1     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   final

  public org.bson.BsonDocument getDocument(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/bson/BsonDocument;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
         0: .line 135
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.throwIfKeyAbsent:(Ljava/lang/Object;)V
         1: .line 136
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.asDocument:()Lorg/bson/BsonDocument;
            areturn
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bson/BsonDocument;
            0    2     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   final

  public org.bson.BsonArray getArray(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/bson/BsonArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
         0: .line 147
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.throwIfKeyAbsent:(Ljava/lang/Object;)V
         1: .line 149
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.asArray:()Lorg/bson/BsonArray;
            areturn
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bson/BsonDocument;
            0    2     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   final

  public org.bson.BsonNumber getNumber(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/bson/BsonNumber;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
         0: .line 160
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.throwIfKeyAbsent:(Ljava/lang/Object;)V
         1: .line 161
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.asNumber:()Lorg/bson/BsonNumber;
            areturn
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bson/BsonDocument;
            0    2     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   final

  public org.bson.BsonInt32 getInt32(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/bson/BsonInt32;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
         0: .line 172
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.throwIfKeyAbsent:(Ljava/lang/Object;)V
         1: .line 173
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.asInt32:()Lorg/bson/BsonInt32;
            areturn
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bson/BsonDocument;
            0    2     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   final

  public org.bson.BsonInt64 getInt64(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/bson/BsonInt64;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
         0: .line 184
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.throwIfKeyAbsent:(Ljava/lang/Object;)V
         1: .line 185
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.asInt64:()Lorg/bson/BsonInt64;
            areturn
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bson/BsonDocument;
            0    2     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   final

  public org.bson.BsonDecimal128 getDecimal128(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/bson/BsonDecimal128;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
         0: .line 197
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.throwIfKeyAbsent:(Ljava/lang/Object;)V
         1: .line 198
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.asDecimal128:()Lorg/bson/BsonDecimal128;
            areturn
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bson/BsonDocument;
            0    2     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   final

  public org.bson.BsonDouble getDouble(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/bson/BsonDouble;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
         0: .line 209
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.throwIfKeyAbsent:(Ljava/lang/Object;)V
         1: .line 210
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.asDouble:()Lorg/bson/BsonDouble;
            areturn
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bson/BsonDocument;
            0    2     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   final

  public org.bson.BsonBoolean getBoolean(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/bson/BsonBoolean;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
         0: .line 221
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.throwIfKeyAbsent:(Ljava/lang/Object;)V
         1: .line 222
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.asBoolean:()Lorg/bson/BsonBoolean;
            areturn
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bson/BsonDocument;
            0    2     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   final

  public org.bson.BsonString getString(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/bson/BsonString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
         0: .line 233
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.throwIfKeyAbsent:(Ljava/lang/Object;)V
         1: .line 234
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.asString:()Lorg/bson/BsonString;
            areturn
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bson/BsonDocument;
            0    2     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   final

  public org.bson.BsonDateTime getDateTime(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/bson/BsonDateTime;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
         0: .line 245
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.throwIfKeyAbsent:(Ljava/lang/Object;)V
         1: .line 246
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.asDateTime:()Lorg/bson/BsonDateTime;
            areturn
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bson/BsonDocument;
            0    2     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   final

  public org.bson.BsonTimestamp getTimestamp(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/bson/BsonTimestamp;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
         0: .line 257
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.throwIfKeyAbsent:(Ljava/lang/Object;)V
         1: .line 258
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.asTimestamp:()Lorg/bson/BsonTimestamp;
            areturn
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bson/BsonDocument;
            0    2     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   final

  public org.bson.BsonObjectId getObjectId(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/bson/BsonObjectId;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
         0: .line 269
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.throwIfKeyAbsent:(Ljava/lang/Object;)V
         1: .line 270
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.asObjectId:()Lorg/bson/BsonObjectId;
            areturn
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bson/BsonDocument;
            0    2     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   final

  public org.bson.BsonRegularExpression getRegularExpression(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/bson/BsonRegularExpression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
         0: .line 281
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.throwIfKeyAbsent:(Ljava/lang/Object;)V
         1: .line 282
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.asRegularExpression:()Lorg/bson/BsonRegularExpression;
            areturn
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bson/BsonDocument;
            0    2     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   final

  public org.bson.BsonBinary getBinary(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/bson/BsonBinary;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
         0: .line 293
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.throwIfKeyAbsent:(Ljava/lang/Object;)V
         1: .line 294
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.asBinary:()Lorg/bson/BsonBinary;
            areturn
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bson/BsonDocument;
            0    2     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   final

  public boolean isNull(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
         0: .line 304
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.containsKey:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 305
            iconst_0
            ireturn
         2: .line 307
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.isNull:()Z
            ireturn
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bson/BsonDocument;
            0    3     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   final

  public boolean isDocument(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
         0: .line 317
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.containsKey:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 318
            iconst_0
            ireturn
         2: .line 320
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.isDocument:()Z
            ireturn
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bson/BsonDocument;
            0    3     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   final

  public boolean isArray(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
         0: .line 330
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.containsKey:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 331
            iconst_0
            ireturn
         2: .line 333
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.isArray:()Z
            ireturn
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bson/BsonDocument;
            0    3     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   final

  public boolean isNumber(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
         0: .line 343
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.containsKey:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 344
            iconst_0
            ireturn
         2: .line 346
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.isNumber:()Z
            ireturn
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bson/BsonDocument;
            0    3     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   final

  public boolean isInt32(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
         0: .line 356
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.containsKey:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 357
            iconst_0
            ireturn
         2: .line 359
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.isInt32:()Z
            ireturn
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bson/BsonDocument;
            0    3     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   final

  public boolean isInt64(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
         0: .line 369
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.containsKey:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 370
            iconst_0
            ireturn
         2: .line 372
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.isInt64:()Z
            ireturn
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bson/BsonDocument;
            0    3     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   final

  public boolean isDecimal128(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
         0: .line 383
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.containsKey:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 384
            iconst_0
            ireturn
         2: .line 386
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.isDecimal128:()Z
            ireturn
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bson/BsonDocument;
            0    3     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   final

  public boolean isDouble(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
         0: .line 397
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.containsKey:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 398
            iconst_0
            ireturn
         2: .line 400
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.isDouble:()Z
            ireturn
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bson/BsonDocument;
            0    3     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   final

  public boolean isBoolean(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
         0: .line 410
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.containsKey:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 411
            iconst_0
            ireturn
         2: .line 413
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.isBoolean:()Z
            ireturn
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bson/BsonDocument;
            0    3     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   final

  public boolean isString(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
         0: .line 423
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.containsKey:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 424
            iconst_0
            ireturn
         2: .line 426
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.isString:()Z
            ireturn
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bson/BsonDocument;
            0    3     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   final

  public boolean isDateTime(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
         0: .line 436
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.containsKey:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 437
            iconst_0
            ireturn
         2: .line 439
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.isDateTime:()Z
            ireturn
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bson/BsonDocument;
            0    3     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   final

  public boolean isTimestamp(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
         0: .line 449
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.containsKey:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 450
            iconst_0
            ireturn
         2: .line 452
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.isTimestamp:()Z
            ireturn
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bson/BsonDocument;
            0    3     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   final

  public boolean isObjectId(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
         0: .line 462
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.containsKey:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 463
            iconst_0
            ireturn
         2: .line 465
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.isObjectId:()Z
            ireturn
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bson/BsonDocument;
            0    3     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   final

  public boolean isBinary(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
         0: .line 475
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.containsKey:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 476
            iconst_0
            ireturn
         2: .line 478
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.isBinary:()Z
            ireturn
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bson/BsonDocument;
            0    3     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   final

  public org.bson.BsonValue get(java.lang.Object, org.bson.BsonValue);
    descriptor: (Ljava/lang/Object;Lorg/bson/BsonValue;)Lorg/bson/BsonValue;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
        start local 2 // org.bson.BsonValue defaultValue
         0: .line 489
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            astore 3 /* value */
        start local 3 // org.bson.BsonValue value
         1: .line 490
            aload 3 /* value */
            ifnull 2
            aload 3 /* value */
            goto 3
      StackMap locals: org.bson.BsonValue
      StackMap stack:
         2: aload 2 /* defaultValue */
      StackMap locals:
      StackMap stack: org.bson.BsonValue
         3: areturn
        end local 3 // org.bson.BsonValue value
        end local 2 // org.bson.BsonValue defaultValue
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/bson/BsonDocument;
            0    4     1           key  Ljava/lang/Object;
            0    4     2  defaultValue  Lorg/bson/BsonValue;
            1    4     3         value  Lorg/bson/BsonValue;
    MethodParameters:
              Name  Flags
      key           final
      defaultValue  final

  public org.bson.BsonDocument getDocument(java.lang.Object, org.bson.BsonDocument);
    descriptor: (Ljava/lang/Object;Lorg/bson/BsonDocument;)Lorg/bson/BsonDocument;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
        start local 2 // org.bson.BsonDocument defaultValue
         0: .line 503
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.containsKey:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 504
            aload 2 /* defaultValue */
            areturn
         2: .line 506
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.asDocument:()Lorg/bson/BsonDocument;
            areturn
        end local 2 // org.bson.BsonDocument defaultValue
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/bson/BsonDocument;
            0    3     1           key  Ljava/lang/Object;
            0    3     2  defaultValue  Lorg/bson/BsonDocument;
    MethodParameters:
              Name  Flags
      key           final
      defaultValue  final

  public org.bson.BsonArray getArray(java.lang.Object, org.bson.BsonArray);
    descriptor: (Ljava/lang/Object;Lorg/bson/BsonArray;)Lorg/bson/BsonArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
        start local 2 // org.bson.BsonArray defaultValue
         0: .line 519
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.containsKey:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 520
            aload 2 /* defaultValue */
            areturn
         2: .line 522
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.asArray:()Lorg/bson/BsonArray;
            areturn
        end local 2 // org.bson.BsonArray defaultValue
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/bson/BsonDocument;
            0    3     1           key  Ljava/lang/Object;
            0    3     2  defaultValue  Lorg/bson/BsonArray;
    MethodParameters:
              Name  Flags
      key           final
      defaultValue  final

  public org.bson.BsonNumber getNumber(java.lang.Object, org.bson.BsonNumber);
    descriptor: (Ljava/lang/Object;Lorg/bson/BsonNumber;)Lorg/bson/BsonNumber;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
        start local 2 // org.bson.BsonNumber defaultValue
         0: .line 535
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.containsKey:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 536
            aload 2 /* defaultValue */
            areturn
         2: .line 538
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.asNumber:()Lorg/bson/BsonNumber;
            areturn
        end local 2 // org.bson.BsonNumber defaultValue
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/bson/BsonDocument;
            0    3     1           key  Ljava/lang/Object;
            0    3     2  defaultValue  Lorg/bson/BsonNumber;
    MethodParameters:
              Name  Flags
      key           final
      defaultValue  final

  public org.bson.BsonInt32 getInt32(java.lang.Object, org.bson.BsonInt32);
    descriptor: (Ljava/lang/Object;Lorg/bson/BsonInt32;)Lorg/bson/BsonInt32;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
        start local 2 // org.bson.BsonInt32 defaultValue
         0: .line 551
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.containsKey:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 552
            aload 2 /* defaultValue */
            areturn
         2: .line 554
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.asInt32:()Lorg/bson/BsonInt32;
            areturn
        end local 2 // org.bson.BsonInt32 defaultValue
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/bson/BsonDocument;
            0    3     1           key  Ljava/lang/Object;
            0    3     2  defaultValue  Lorg/bson/BsonInt32;
    MethodParameters:
              Name  Flags
      key           final
      defaultValue  final

  public org.bson.BsonInt64 getInt64(java.lang.Object, org.bson.BsonInt64);
    descriptor: (Ljava/lang/Object;Lorg/bson/BsonInt64;)Lorg/bson/BsonInt64;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
        start local 2 // org.bson.BsonInt64 defaultValue
         0: .line 567
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.containsKey:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 568
            aload 2 /* defaultValue */
            areturn
         2: .line 570
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.asInt64:()Lorg/bson/BsonInt64;
            areturn
        end local 2 // org.bson.BsonInt64 defaultValue
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/bson/BsonDocument;
            0    3     1           key  Ljava/lang/Object;
            0    3     2  defaultValue  Lorg/bson/BsonInt64;
    MethodParameters:
              Name  Flags
      key           final
      defaultValue  final

  public org.bson.BsonDecimal128 getDecimal128(java.lang.Object, org.bson.BsonDecimal128);
    descriptor: (Ljava/lang/Object;Lorg/bson/BsonDecimal128;)Lorg/bson/BsonDecimal128;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
        start local 2 // org.bson.BsonDecimal128 defaultValue
         0: .line 584
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.containsKey:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 585
            aload 2 /* defaultValue */
            areturn
         2: .line 587
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.asDecimal128:()Lorg/bson/BsonDecimal128;
            areturn
        end local 2 // org.bson.BsonDecimal128 defaultValue
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/bson/BsonDocument;
            0    3     1           key  Ljava/lang/Object;
            0    3     2  defaultValue  Lorg/bson/BsonDecimal128;
    MethodParameters:
              Name  Flags
      key           final
      defaultValue  final

  public org.bson.BsonDouble getDouble(java.lang.Object, org.bson.BsonDouble);
    descriptor: (Ljava/lang/Object;Lorg/bson/BsonDouble;)Lorg/bson/BsonDouble;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
        start local 2 // org.bson.BsonDouble defaultValue
         0: .line 600
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.containsKey:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 601
            aload 2 /* defaultValue */
            areturn
         2: .line 603
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.asDouble:()Lorg/bson/BsonDouble;
            areturn
        end local 2 // org.bson.BsonDouble defaultValue
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/bson/BsonDocument;
            0    3     1           key  Ljava/lang/Object;
            0    3     2  defaultValue  Lorg/bson/BsonDouble;
    MethodParameters:
              Name  Flags
      key           final
      defaultValue  final

  public org.bson.BsonBoolean getBoolean(java.lang.Object, org.bson.BsonBoolean);
    descriptor: (Ljava/lang/Object;Lorg/bson/BsonBoolean;)Lorg/bson/BsonBoolean;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
        start local 2 // org.bson.BsonBoolean defaultValue
         0: .line 616
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.containsKey:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 617
            aload 2 /* defaultValue */
            areturn
         2: .line 619
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.asBoolean:()Lorg/bson/BsonBoolean;
            areturn
        end local 2 // org.bson.BsonBoolean defaultValue
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/bson/BsonDocument;
            0    3     1           key  Ljava/lang/Object;
            0    3     2  defaultValue  Lorg/bson/BsonBoolean;
    MethodParameters:
              Name  Flags
      key           final
      defaultValue  final

  public org.bson.BsonString getString(java.lang.Object, org.bson.BsonString);
    descriptor: (Ljava/lang/Object;Lorg/bson/BsonString;)Lorg/bson/BsonString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
        start local 2 // org.bson.BsonString defaultValue
         0: .line 632
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.containsKey:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 633
            aload 2 /* defaultValue */
            areturn
         2: .line 635
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.asString:()Lorg/bson/BsonString;
            areturn
        end local 2 // org.bson.BsonString defaultValue
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/bson/BsonDocument;
            0    3     1           key  Ljava/lang/Object;
            0    3     2  defaultValue  Lorg/bson/BsonString;
    MethodParameters:
              Name  Flags
      key           final
      defaultValue  final

  public org.bson.BsonDateTime getDateTime(java.lang.Object, org.bson.BsonDateTime);
    descriptor: (Ljava/lang/Object;Lorg/bson/BsonDateTime;)Lorg/bson/BsonDateTime;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
        start local 2 // org.bson.BsonDateTime defaultValue
         0: .line 648
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.containsKey:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 649
            aload 2 /* defaultValue */
            areturn
         2: .line 651
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.asDateTime:()Lorg/bson/BsonDateTime;
            areturn
        end local 2 // org.bson.BsonDateTime defaultValue
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/bson/BsonDocument;
            0    3     1           key  Ljava/lang/Object;
            0    3     2  defaultValue  Lorg/bson/BsonDateTime;
    MethodParameters:
              Name  Flags
      key           final
      defaultValue  final

  public org.bson.BsonTimestamp getTimestamp(java.lang.Object, org.bson.BsonTimestamp);
    descriptor: (Ljava/lang/Object;Lorg/bson/BsonTimestamp;)Lorg/bson/BsonTimestamp;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
        start local 2 // org.bson.BsonTimestamp defaultValue
         0: .line 664
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.containsKey:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 665
            aload 2 /* defaultValue */
            areturn
         2: .line 667
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.asTimestamp:()Lorg/bson/BsonTimestamp;
            areturn
        end local 2 // org.bson.BsonTimestamp defaultValue
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/bson/BsonDocument;
            0    3     1           key  Ljava/lang/Object;
            0    3     2  defaultValue  Lorg/bson/BsonTimestamp;
    MethodParameters:
              Name  Flags
      key           final
      defaultValue  final

  public org.bson.BsonObjectId getObjectId(java.lang.Object, org.bson.BsonObjectId);
    descriptor: (Ljava/lang/Object;Lorg/bson/BsonObjectId;)Lorg/bson/BsonObjectId;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
        start local 2 // org.bson.BsonObjectId defaultValue
         0: .line 680
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.containsKey:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 681
            aload 2 /* defaultValue */
            areturn
         2: .line 683
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.asObjectId:()Lorg/bson/BsonObjectId;
            areturn
        end local 2 // org.bson.BsonObjectId defaultValue
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/bson/BsonDocument;
            0    3     1           key  Ljava/lang/Object;
            0    3     2  defaultValue  Lorg/bson/BsonObjectId;
    MethodParameters:
              Name  Flags
      key           final
      defaultValue  final

  public org.bson.BsonBinary getBinary(java.lang.Object, org.bson.BsonBinary);
    descriptor: (Ljava/lang/Object;Lorg/bson/BsonBinary;)Lorg/bson/BsonBinary;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
        start local 2 // org.bson.BsonBinary defaultValue
         0: .line 696
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.containsKey:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 697
            aload 2 /* defaultValue */
            areturn
         2: .line 699
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.asBinary:()Lorg/bson/BsonBinary;
            areturn
        end local 2 // org.bson.BsonBinary defaultValue
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/bson/BsonDocument;
            0    3     1           key  Ljava/lang/Object;
            0    3     2  defaultValue  Lorg/bson/BsonBinary;
    MethodParameters:
              Name  Flags
      key           final
      defaultValue  final

  public org.bson.BsonRegularExpression getRegularExpression(java.lang.Object, org.bson.BsonRegularExpression);
    descriptor: (Ljava/lang/Object;Lorg/bson/BsonRegularExpression;)Lorg/bson/BsonRegularExpression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
        start local 2 // org.bson.BsonRegularExpression defaultValue
         0: .line 712
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.containsKey:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 713
            aload 2 /* defaultValue */
            areturn
         2: .line 715
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            invokevirtual org.bson.BsonValue.asRegularExpression:()Lorg/bson/BsonRegularExpression;
            areturn
        end local 2 // org.bson.BsonRegularExpression defaultValue
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/bson/BsonDocument;
            0    3     1           key  Ljava/lang/Object;
            0    3     2  defaultValue  Lorg/bson/BsonRegularExpression;
    MethodParameters:
              Name  Flags
      key           final
      defaultValue  final

  public org.bson.BsonValue put(java.lang.String, org.bson.BsonValue);
    descriptor: (Ljava/lang/String;Lorg/bson/BsonValue;)Lorg/bson/BsonValue;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=3, args_size=3
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.String key
        start local 2 // org.bson.BsonValue value
         0: .line 720
            aload 2 /* value */
            ifnonnull 2
         1: .line 721
            new java.lang.IllegalArgumentException
            dup
            ldc "The value for key %s can not be null"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* key */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 723
      StackMap locals:
      StackMap stack:
            aload 1 /* key */
            ldc "\u0000"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 6
         3: .line 724
            new org.bson.BSONException
            dup
            ldc "BSON cstring '%s' is not valid because it contains a null character at index %d"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* key */
            aastore
            dup
            iconst_1
         4: .line 725
            aload 1 /* key */
            iconst_0
            invokevirtual java.lang.String.indexOf:(I)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         5: .line 724
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial org.bson.BSONException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 727
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bson.BsonDocument.map:Ljava/util/Map;
            aload 1 /* key */
            aload 2 /* value */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.bson.BsonValue
            areturn
        end local 2 // org.bson.BsonValue value
        end local 1 // java.lang.String key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/bson/BsonDocument;
            0    7     1    key  Ljava/lang/String;
            0    7     2  value  Lorg/bson/BsonValue;
    MethodParameters:
       Name  Flags
      key    final
      value  final

  public org.bson.BsonValue remove(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/bson/BsonValue;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
         0: .line 732
            aload 0 /* this */
            getfield org.bson.BsonDocument.map:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.bson.BsonValue
            areturn
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/BsonDocument;
            0    1     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   final

  public void putAll(java.util.Map<? extends java.lang.String, ? extends org.bson.BsonValue>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.util.Map m
         0: .line 737
            aload 1 /* m */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: org.bson.BsonDocument java.util.Map top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* cur */
        start local 2 // java.util.Map$Entry cur
         2: .line 738
            aload 0 /* this */
            aload 2 /* cur */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 2 /* cur */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.bson.BsonValue
            invokevirtual org.bson.BsonDocument.put:(Ljava/lang/String;Lorg/bson/BsonValue;)Lorg/bson/BsonValue;
            pop
        end local 2 // java.util.Map$Entry cur
         3: .line 737
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 740
            return
        end local 1 // java.util.Map m
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/bson/BsonDocument;
            0    5     1     m  Ljava/util/Map<+Ljava/lang/String;+Lorg/bson/BsonValue;>;
            2    3     2   cur  Ljava/util/Map$Entry<+Ljava/lang/String;+Lorg/bson/BsonValue;>;
    Signature: (Ljava/util/Map<+Ljava/lang/String;+Lorg/bson/BsonValue;>;)V
    MethodParameters:
      Name  Flags
      m     final

  public void clear();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bson.BsonDocument this
         0: .line 744
            aload 0 /* this */
            getfield org.bson.BsonDocument.map:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         1: .line 745
            return
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bson/BsonDocument;

  public java.util.Set<java.lang.String> keySet();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bson.BsonDocument this
         0: .line 749
            aload 0 /* this */
            getfield org.bson.BsonDocument.map:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            areturn
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/BsonDocument;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public java.util.Collection<org.bson.BsonValue> values();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bson.BsonDocument this
         0: .line 754
            aload 0 /* this */
            getfield org.bson.BsonDocument.map:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            areturn
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/BsonDocument;
    Signature: ()Ljava/util/Collection<Lorg/bson/BsonValue;>;

  public java.util.Set<java.util.Map$Entry<java.lang.String, org.bson.BsonValue>> entrySet();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bson.BsonDocument this
         0: .line 759
            aload 0 /* this */
            getfield org.bson.BsonDocument.map:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            areturn
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/BsonDocument;
    Signature: ()Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;Lorg/bson/BsonValue;>;>;

  public org.bson.BsonDocument append(java.lang.String, org.bson.BsonValue);
    descriptor: (Ljava/lang/String;Lorg/bson/BsonValue;)Lorg/bson/BsonDocument;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.String key
        start local 2 // org.bson.BsonValue value
         0: .line 770
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* value */
            invokevirtual org.bson.BsonDocument.put:(Ljava/lang/String;Lorg/bson/BsonValue;)Lorg/bson/BsonValue;
            pop
         1: .line 771
            aload 0 /* this */
            areturn
        end local 2 // org.bson.BsonValue value
        end local 1 // java.lang.String key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/bson/BsonDocument;
            0    2     1    key  Ljava/lang/String;
            0    2     2  value  Lorg/bson/BsonValue;
    MethodParameters:
       Name  Flags
      key    final
      value  final

  public java.lang.String getFirstKey();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bson.BsonDocument this
         0: .line 782
            aload 0 /* this */
            invokevirtual org.bson.BsonDocument.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/BsonDocument;

  public org.bson.BsonReader asBsonReader();
    descriptor: ()Lorg/bson/BsonReader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.bson.BsonDocument this
         0: .line 793
            new org.bson.BsonDocumentReader
            dup
            aload 0 /* this */
            invokespecial org.bson.BsonDocumentReader.<init>:(Lorg/bson/BsonDocument;)V
            areturn
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/BsonDocument;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object o
         0: .line 798
            aload 0 /* this */
            aload 1 /* o */
            if_acmpne 2
         1: .line 799
            iconst_1
            ireturn
         2: .line 801
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            instanceof org.bson.BsonDocument
            ifne 4
         3: .line 802
            iconst_0
            ireturn
         4: .line 805
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast org.bson.BsonDocument
            astore 2 /* that */
        start local 2 // org.bson.BsonDocument that
         5: .line 807
            aload 0 /* this */
            invokevirtual org.bson.BsonDocument.entrySet:()Ljava/util/Set;
            aload 2 /* that */
            invokevirtual org.bson.BsonDocument.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 2 // org.bson.BsonDocument that
        end local 1 // java.lang.Object o
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/bson/BsonDocument;
            0    6     1     o  Ljava/lang/Object;
            5    6     2  that  Lorg/bson/BsonDocument;
    MethodParameters:
      Name  Flags
      o     final

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bson.BsonDocument this
         0: .line 812
            aload 0 /* this */
            invokevirtual org.bson.BsonDocument.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.hashCode:()I
            ireturn
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/BsonDocument;

  public java.lang.String toJson();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.bson.BsonDocument this
         0: .line 825
            aload 0 /* this */
            new org.bson.json.JsonWriterSettings
            dup
            invokespecial org.bson.json.JsonWriterSettings.<init>:()V
            invokevirtual org.bson.BsonDocument.toJson:(Lorg/bson/json/JsonWriterSettings;)Ljava/lang/String;
            areturn
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/BsonDocument;

  public java.lang.String toJson(org.bson.json.JsonWriterSettings);
    descriptor: (Lorg/bson/json/JsonWriterSettings;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.bson.BsonDocument this
        start local 1 // org.bson.json.JsonWriterSettings settings
         0: .line 834
            new java.io.StringWriter
            dup
            invokespecial java.io.StringWriter.<init>:()V
            astore 2 /* writer */
        start local 2 // java.io.StringWriter writer
         1: .line 835
            new org.bson.codecs.BsonDocumentCodec
            dup
            invokespecial org.bson.codecs.BsonDocumentCodec.<init>:()V
            new org.bson.json.JsonWriter
            dup
            aload 2 /* writer */
            aload 1 /* settings */
            invokespecial org.bson.json.JsonWriter.<init>:(Ljava/io/Writer;Lorg/bson/json/JsonWriterSettings;)V
            aload 0 /* this */
            invokestatic org.bson.codecs.EncoderContext.builder:()Lorg/bson/codecs/EncoderContext$Builder;
            invokevirtual org.bson.codecs.EncoderContext$Builder.build:()Lorg/bson/codecs/EncoderContext;
            invokevirtual org.bson.codecs.BsonDocumentCodec.encode:(Lorg/bson/BsonWriter;Lorg/bson/BsonDocument;Lorg/bson/codecs/EncoderContext;)V
         2: .line 836
            aload 2 /* writer */
            invokevirtual java.io.StringWriter.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.io.StringWriter writer
        end local 1 // org.bson.json.JsonWriterSettings settings
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/bson/BsonDocument;
            0    3     1  settings  Lorg/bson/json/JsonWriterSettings;
            1    3     2    writer  Ljava/io/StringWriter;
    MethodParameters:
          Name  Flags
      settings  final

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bson.BsonDocument this
         0: .line 841
            aload 0 /* this */
            invokevirtual org.bson.BsonDocument.toJson:()Ljava/lang/String;
            areturn
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/BsonDocument;

  public org.bson.BsonDocument clone();
    descriptor: ()Lorg/bson/BsonDocument;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.bson.BsonDocument this
         0: .line 846
            new org.bson.BsonDocument
            dup
            invokespecial org.bson.BsonDocument.<init>:()V
            astore 1 /* to */
        start local 1 // org.bson.BsonDocument to
         1: .line 847
            aload 0 /* this */
            invokevirtual org.bson.BsonDocument.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 13
      StackMap locals: org.bson.BsonDocument org.bson.BsonDocument top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* cur */
        start local 2 // java.util.Map$Entry cur
         3: .line 848
            invokestatic org.bson.BsonDocument.$SWITCH_TABLE$org$bson$BsonType:()[I
            aload 2 /* cur */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.bson.BsonValue
            invokevirtual org.bson.BsonValue.getBsonType:()Lorg/bson/BsonType;
            invokevirtual org.bson.BsonType.ordinal:()I
            iaload
            lookupswitch { // 4
                    4: 4
                    5: 6
                    6: 8
                   16: 10
              default: 12
          }
         4: .line 850
      StackMap locals: org.bson.BsonDocument org.bson.BsonDocument java.util.Map$Entry java.util.Iterator
      StackMap stack:
            aload 1 /* to */
            aload 2 /* cur */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 2 /* cur */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.bson.BsonValue
            invokevirtual org.bson.BsonValue.asDocument:()Lorg/bson/BsonDocument;
            invokevirtual org.bson.BsonDocument.clone:()Lorg/bson/BsonDocument;
            invokevirtual org.bson.BsonDocument.put:(Ljava/lang/String;Lorg/bson/BsonValue;)Lorg/bson/BsonValue;
            pop
         5: .line 851
            goto 13
         6: .line 853
      StackMap locals:
      StackMap stack:
            aload 1 /* to */
            aload 2 /* cur */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 2 /* cur */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.bson.BsonValue
            invokevirtual org.bson.BsonValue.asArray:()Lorg/bson/BsonArray;
            invokevirtual org.bson.BsonArray.clone:()Lorg/bson/BsonArray;
            invokevirtual org.bson.BsonDocument.put:(Ljava/lang/String;Lorg/bson/BsonValue;)Lorg/bson/BsonValue;
            pop
         7: .line 854
            goto 13
         8: .line 856
      StackMap locals:
      StackMap stack:
            aload 1 /* to */
            aload 2 /* cur */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 2 /* cur */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.bson.BsonValue
            invokevirtual org.bson.BsonValue.asBinary:()Lorg/bson/BsonBinary;
            invokestatic org.bson.BsonBinary.clone:(Lorg/bson/BsonBinary;)Lorg/bson/BsonBinary;
            invokevirtual org.bson.BsonDocument.put:(Ljava/lang/String;Lorg/bson/BsonValue;)Lorg/bson/BsonValue;
            pop
         9: .line 857
            goto 13
        10: .line 859
      StackMap locals:
      StackMap stack:
            aload 1 /* to */
            aload 2 /* cur */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 2 /* cur */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.bson.BsonValue
            invokevirtual org.bson.BsonValue.asJavaScriptWithScope:()Lorg/bson/BsonJavaScriptWithScope;
            invokestatic org.bson.BsonJavaScriptWithScope.clone:(Lorg/bson/BsonJavaScriptWithScope;)Lorg/bson/BsonJavaScriptWithScope;
            invokevirtual org.bson.BsonDocument.put:(Ljava/lang/String;Lorg/bson/BsonValue;)Lorg/bson/BsonValue;
            pop
        11: .line 860
            goto 13
        12: .line 862
      StackMap locals:
      StackMap stack:
            aload 1 /* to */
            aload 2 /* cur */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 2 /* cur */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.bson.BsonValue
            invokevirtual org.bson.BsonDocument.put:(Ljava/lang/String;Lorg/bson/BsonValue;)Lorg/bson/BsonValue;
            pop
        end local 2 // java.util.Map$Entry cur
        13: .line 847
      StackMap locals: org.bson.BsonDocument org.bson.BsonDocument top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        14: .line 865
            aload 1 /* to */
            areturn
        end local 1 // org.bson.BsonDocument to
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lorg/bson/BsonDocument;
            1   15     1    to  Lorg/bson/BsonDocument;
            3   13     2   cur  Ljava/util/Map$Entry<Ljava/lang/String;Lorg/bson/BsonValue;>;

  private void throwIfKeyAbsent(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.lang.Object key
         0: .line 869
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.bson.BsonDocument.containsKey:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 870
            new org.bson.BsonInvalidOperationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Document does not contain key "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.bson.BsonInvalidOperationException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 872
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object key
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bson/BsonDocument;
            0    3     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   final

  private java.lang.Object writeReplace();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.bson.BsonDocument this
         0: .line 876
            new org.bson.BsonDocument$SerializationProxy
            dup
            aload 0 /* this */
            invokespecial org.bson.BsonDocument$SerializationProxy.<init>:(Lorg/bson/BsonDocument;)V
            areturn
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/BsonDocument;

  private void readObject(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.bson.BsonDocument this
        start local 1 // java.io.ObjectInputStream stream
         0: .line 881
            new java.io.InvalidObjectException
            dup
            ldc "Proxy required"
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.io.ObjectInputStream stream
        end local 0 // org.bson.BsonDocument this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/bson/BsonDocument;
            0    1     1  stream  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.InvalidObjectException
    MethodParameters:
        Name  Flags
      stream  final

  public java.lang.Object put(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            checkcast java.lang.String
            aload 2
            checkcast org.bson.BsonValue
            invokevirtual org.bson.BsonDocument.put:(Ljava/lang/String;Lorg/bson/BsonValue;)Lorg/bson/BsonValue;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.Object clone();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.bson.BsonDocument.clone:()Lorg/bson/BsonDocument;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.CloneNotSupportedException

  public java.lang.Object get(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.bson.BsonDocument.get:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.Object remove(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.bson.BsonDocument.remove:(Ljava/lang/Object;)Lorg/bson/BsonValue;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  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 48
            getstatic org.bson.BsonDocument.$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.BsonDocument.$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
}
Signature: Lorg/bson/BsonValue;Ljava/util/Map<Ljava/lang/String;Lorg/bson/BsonValue;>;Ljava/lang/Cloneable;Lorg/bson/conversions/Bson;Ljava/io/Serializable;
SourceFile: "BsonDocument.java"
NestMembers:
  org.bson.BsonDocument$SerializationProxy
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  private SerializationProxy = org.bson.BsonDocument$SerializationProxy of org.bson.BsonDocument
  public final Builder = org.bson.codecs.DecoderContext$Builder of org.bson.codecs.DecoderContext
  public final Builder = org.bson.codecs.EncoderContext$Builder of org.bson.codecs.EncoderContext