public class org.bson.codecs.BsonTypeClassMap
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.bson.codecs.BsonTypeClassMap
  super_class: java.lang.Object
{
  private final java.util.Map<org.bson.BsonType, java.lang.Class<?>> map;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Lorg/bson/BsonType;Ljava/lang/Class<*>;>;

  public void <init>(java.util.Map<org.bson.BsonType, java.lang.Class<?>>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.bson.codecs.BsonTypeClassMap this
        start local 1 // java.util.Map replacementsForDefaults
         0: .line 81
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 73
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.bson.codecs.BsonTypeClassMap.map:Ljava/util/Map;
         2: .line 82
            aload 0 /* this */
            invokevirtual org.bson.codecs.BsonTypeClassMap.addDefaults:()V
         3: .line 83
            aload 0 /* this */
            getfield org.bson.codecs.BsonTypeClassMap.map:Ljava/util/Map;
            aload 1 /* replacementsForDefaults */
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
         4: .line 84
            return
        end local 1 // java.util.Map replacementsForDefaults
        end local 0 // org.bson.codecs.BsonTypeClassMap this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    5     0                     this  Lorg/bson/codecs/BsonTypeClassMap;
            0    5     1  replacementsForDefaults  Ljava/util/Map<Lorg/bson/BsonType;Ljava/lang/Class<*>;>;
    Signature: (Ljava/util/Map<Lorg/bson/BsonType;Ljava/lang/Class<*>;>;)V
    MethodParameters:
                         Name  Flags
      replacementsForDefaults  final

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bson.codecs.BsonTypeClassMap this
         0: .line 90
            aload 0 /* this */
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokespecial org.bson.codecs.BsonTypeClassMap.<init>:(Ljava/util/Map;)V
         1: .line 91
            return
        end local 0 // org.bson.codecs.BsonTypeClassMap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bson/codecs/BsonTypeClassMap;

  java.util.Set<org.bson.BsonType> keys();
    descriptor: ()Ljava/util/Set;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bson.codecs.BsonTypeClassMap this
         0: .line 94
            aload 0 /* this */
            getfield org.bson.codecs.BsonTypeClassMap.map:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            areturn
        end local 0 // org.bson.codecs.BsonTypeClassMap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/codecs/BsonTypeClassMap;
    Signature: ()Ljava/util/Set<Lorg/bson/BsonType;>;

  public java.lang.Class<?> get(org.bson.BsonType);
    descriptor: (Lorg/bson/BsonType;)Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.codecs.BsonTypeClassMap this
        start local 1 // org.bson.BsonType bsonType
         0: .line 104
            aload 0 /* this */
            getfield org.bson.codecs.BsonTypeClassMap.map:Ljava/util/Map;
            aload 1 /* bsonType */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Class
            areturn
        end local 1 // org.bson.BsonType bsonType
        end local 0 // org.bson.codecs.BsonTypeClassMap this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/bson/codecs/BsonTypeClassMap;
            0    1     1  bsonType  Lorg/bson/BsonType;
    Signature: (Lorg/bson/BsonType;)Ljava/lang/Class<*>;
    MethodParameters:
          Name  Flags
      bsonType  final

  private void addDefaults();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.bson.codecs.BsonTypeClassMap this
         0: .line 108
            aload 0 /* this */
            getfield org.bson.codecs.BsonTypeClassMap.map:Ljava/util/Map;
            getstatic org.bson.BsonType.ARRAY:Lorg/bson/BsonType;
            ldc Ljava/util/List;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 109
            aload 0 /* this */
            getfield org.bson.codecs.BsonTypeClassMap.map:Ljava/util/Map;
            getstatic org.bson.BsonType.BINARY:Lorg/bson/BsonType;
            ldc Lorg/bson/types/Binary;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 110
            aload 0 /* this */
            getfield org.bson.codecs.BsonTypeClassMap.map:Ljava/util/Map;
            getstatic org.bson.BsonType.BOOLEAN:Lorg/bson/BsonType;
            ldc Ljava/lang/Boolean;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 111
            aload 0 /* this */
            getfield org.bson.codecs.BsonTypeClassMap.map:Ljava/util/Map;
            getstatic org.bson.BsonType.DATE_TIME:Lorg/bson/BsonType;
            ldc Ljava/util/Date;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 112
            aload 0 /* this */
            getfield org.bson.codecs.BsonTypeClassMap.map:Ljava/util/Map;
            getstatic org.bson.BsonType.DB_POINTER:Lorg/bson/BsonType;
            ldc Lorg/bson/BsonDbPointer;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 113
            aload 0 /* this */
            getfield org.bson.codecs.BsonTypeClassMap.map:Ljava/util/Map;
            getstatic org.bson.BsonType.DOCUMENT:Lorg/bson/BsonType;
            ldc Lorg/bson/Document;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 114
            aload 0 /* this */
            getfield org.bson.codecs.BsonTypeClassMap.map:Ljava/util/Map;
            getstatic org.bson.BsonType.DOUBLE:Lorg/bson/BsonType;
            ldc Ljava/lang/Double;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 115
            aload 0 /* this */
            getfield org.bson.codecs.BsonTypeClassMap.map:Ljava/util/Map;
            getstatic org.bson.BsonType.INT32:Lorg/bson/BsonType;
            ldc Ljava/lang/Integer;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 116
            aload 0 /* this */
            getfield org.bson.codecs.BsonTypeClassMap.map:Ljava/util/Map;
            getstatic org.bson.BsonType.INT64:Lorg/bson/BsonType;
            ldc Ljava/lang/Long;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 117
            aload 0 /* this */
            getfield org.bson.codecs.BsonTypeClassMap.map:Ljava/util/Map;
            getstatic org.bson.BsonType.DECIMAL128:Lorg/bson/BsonType;
            ldc Lorg/bson/types/Decimal128;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 118
            aload 0 /* this */
            getfield org.bson.codecs.BsonTypeClassMap.map:Ljava/util/Map;
            getstatic org.bson.BsonType.MAX_KEY:Lorg/bson/BsonType;
            ldc Lorg/bson/types/MaxKey;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 119
            aload 0 /* this */
            getfield org.bson.codecs.BsonTypeClassMap.map:Ljava/util/Map;
            getstatic org.bson.BsonType.MIN_KEY:Lorg/bson/BsonType;
            ldc Lorg/bson/types/MinKey;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 120
            aload 0 /* this */
            getfield org.bson.codecs.BsonTypeClassMap.map:Ljava/util/Map;
            getstatic org.bson.BsonType.JAVASCRIPT:Lorg/bson/BsonType;
            ldc Lorg/bson/types/Code;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 121
            aload 0 /* this */
            getfield org.bson.codecs.BsonTypeClassMap.map:Ljava/util/Map;
            getstatic org.bson.BsonType.JAVASCRIPT_WITH_SCOPE:Lorg/bson/BsonType;
            ldc Lorg/bson/types/CodeWithScope;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 122
            aload 0 /* this */
            getfield org.bson.codecs.BsonTypeClassMap.map:Ljava/util/Map;
            getstatic org.bson.BsonType.OBJECT_ID:Lorg/bson/BsonType;
            ldc Lorg/bson/types/ObjectId;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 123
            aload 0 /* this */
            getfield org.bson.codecs.BsonTypeClassMap.map:Ljava/util/Map;
            getstatic org.bson.BsonType.REGULAR_EXPRESSION:Lorg/bson/BsonType;
            ldc Lorg/bson/BsonRegularExpression;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 124
            aload 0 /* this */
            getfield org.bson.codecs.BsonTypeClassMap.map:Ljava/util/Map;
            getstatic org.bson.BsonType.STRING:Lorg/bson/BsonType;
            ldc Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        17: .line 125
            aload 0 /* this */
            getfield org.bson.codecs.BsonTypeClassMap.map:Ljava/util/Map;
            getstatic org.bson.BsonType.SYMBOL:Lorg/bson/BsonType;
            ldc Lorg/bson/types/Symbol;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 126
            aload 0 /* this */
            getfield org.bson.codecs.BsonTypeClassMap.map:Ljava/util/Map;
            getstatic org.bson.BsonType.TIMESTAMP:Lorg/bson/BsonType;
            ldc Lorg/bson/BsonTimestamp;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        19: .line 127
            aload 0 /* this */
            getfield org.bson.codecs.BsonTypeClassMap.map:Ljava/util/Map;
            getstatic org.bson.BsonType.UNDEFINED:Lorg/bson/BsonType;
            ldc Lorg/bson/BsonUndefined;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        20: .line 128
            return
        end local 0 // org.bson.codecs.BsonTypeClassMap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   21     0  this  Lorg/bson/codecs/BsonTypeClassMap;

  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.codecs.BsonTypeClassMap this
        start local 1 // java.lang.Object o
         0: .line 132
            aload 0 /* this */
            aload 1 /* o */
            if_acmpne 2
         1: .line 133
            iconst_1
            ireturn
         2: .line 135
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            ifnull 3
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 1 /* o */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            if_acmpeq 4
         3: .line 136
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 139
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast org.bson.codecs.BsonTypeClassMap
            astore 2 /* that */
        start local 2 // org.bson.codecs.BsonTypeClassMap that
         5: .line 141
            aload 0 /* this */
            getfield org.bson.codecs.BsonTypeClassMap.map:Ljava/util/Map;
            aload 2 /* that */
            getfield org.bson.codecs.BsonTypeClassMap.map:Ljava/util/Map;
            invokeinterface java.util.Map.equals:(Ljava/lang/Object;)Z
            ifne 7
         6: .line 142
            iconst_0
            ireturn
         7: .line 145
      StackMap locals: org.bson.codecs.BsonTypeClassMap
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // org.bson.codecs.BsonTypeClassMap that
        end local 1 // java.lang.Object o
        end local 0 // org.bson.codecs.BsonTypeClassMap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/bson/codecs/BsonTypeClassMap;
            0    8     1     o  Ljava/lang/Object;
            5    8     2  that  Lorg/bson/codecs/BsonTypeClassMap;
    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.codecs.BsonTypeClassMap this
         0: .line 150
            aload 0 /* this */
            getfield org.bson.codecs.BsonTypeClassMap.map:Ljava/util/Map;
            invokeinterface java.util.Map.hashCode:()I
            ireturn
        end local 0 // org.bson.codecs.BsonTypeClassMap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/codecs/BsonTypeClassMap;
}
SourceFile: "BsonTypeClassMap.java"