public class com.mongodb.util.JSONSerializers
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.mongodb.util.JSONSerializers
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.util.JSONSerializers this
         0: .line 58
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 59
            return
        end local 0 // com.mongodb.util.JSONSerializers this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/mongodb/util/JSONSerializers;

  public static com.mongodb.util.ObjectSerializer getLegacy();
    descriptor: ()Lcom/mongodb/util/ObjectSerializer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=0
         0: .line 72
            invokestatic com.mongodb.util.JSONSerializers.addCommonSerializers:()Lcom/mongodb/util/ClassMapBasedObjectSerializer;
            astore 0 /* serializer */
        start local 0 // com.mongodb.util.ClassMapBasedObjectSerializer serializer
         1: .line 74
            aload 0 /* serializer */
            ldc Ljava/util/Date;
            new com.mongodb.util.JSONSerializers$LegacyDateSerializer
            dup
            aload 0 /* serializer */
            invokespecial com.mongodb.util.JSONSerializers$LegacyDateSerializer.<init>:(Lcom/mongodb/util/ObjectSerializer;)V
            invokevirtual com.mongodb.util.ClassMapBasedObjectSerializer.addObjectSerializer:(Ljava/lang/Class;Lcom/mongodb/util/ObjectSerializer;)V
         2: .line 75
            aload 0 /* serializer */
            ldc Lorg/bson/types/BSONTimestamp;
            new com.mongodb.util.JSONSerializers$LegacyBSONTimestampSerializer
            dup
            aload 0 /* serializer */
            invokespecial com.mongodb.util.JSONSerializers$LegacyBSONTimestampSerializer.<init>:(Lcom/mongodb/util/ObjectSerializer;)V
            invokevirtual com.mongodb.util.ClassMapBasedObjectSerializer.addObjectSerializer:(Ljava/lang/Class;Lcom/mongodb/util/ObjectSerializer;)V
         3: .line 76
            aload 0 /* serializer */
            ldc Lorg/bson/types/Binary;
            new com.mongodb.util.JSONSerializers$LegacyBinarySerializer
            dup
            invokespecial com.mongodb.util.JSONSerializers$LegacyBinarySerializer.<init>:()V
            invokevirtual com.mongodb.util.ClassMapBasedObjectSerializer.addObjectSerializer:(Ljava/lang/Class;Lcom/mongodb/util/ObjectSerializer;)V
         4: .line 77
            aload 0 /* serializer */
            ldc [B
            new com.mongodb.util.JSONSerializers$LegacyBinarySerializer
            dup
            invokespecial com.mongodb.util.JSONSerializers$LegacyBinarySerializer.<init>:()V
            invokevirtual com.mongodb.util.ClassMapBasedObjectSerializer.addObjectSerializer:(Ljava/lang/Class;Lcom/mongodb/util/ObjectSerializer;)V
         5: .line 78
            aload 0 /* serializer */
            areturn
        end local 0 // com.mongodb.util.ClassMapBasedObjectSerializer serializer
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            1    6     0  serializer  Lcom/mongodb/util/ClassMapBasedObjectSerializer;

  public static com.mongodb.util.ObjectSerializer getStrict();
    descriptor: ()Lcom/mongodb/util/ObjectSerializer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=0
         0: .line 90
            invokestatic com.mongodb.util.JSONSerializers.addCommonSerializers:()Lcom/mongodb/util/ClassMapBasedObjectSerializer;
            astore 0 /* serializer */
        start local 0 // com.mongodb.util.ClassMapBasedObjectSerializer serializer
         1: .line 92
            aload 0 /* serializer */
            ldc Ljava/util/Date;
            new com.mongodb.util.JSONSerializers$DateSerializer
            dup
            aload 0 /* serializer */
            invokespecial com.mongodb.util.JSONSerializers$DateSerializer.<init>:(Lcom/mongodb/util/ObjectSerializer;)V
            invokevirtual com.mongodb.util.ClassMapBasedObjectSerializer.addObjectSerializer:(Ljava/lang/Class;Lcom/mongodb/util/ObjectSerializer;)V
         2: .line 93
            aload 0 /* serializer */
            ldc Lorg/bson/types/BSONTimestamp;
            new com.mongodb.util.JSONSerializers$BSONTimestampSerializer
            dup
            aload 0 /* serializer */
            invokespecial com.mongodb.util.JSONSerializers$BSONTimestampSerializer.<init>:(Lcom/mongodb/util/ObjectSerializer;)V
            invokevirtual com.mongodb.util.ClassMapBasedObjectSerializer.addObjectSerializer:(Ljava/lang/Class;Lcom/mongodb/util/ObjectSerializer;)V
         3: .line 94
            aload 0 /* serializer */
            ldc Lorg/bson/types/Binary;
            new com.mongodb.util.JSONSerializers$BinarySerializer
            dup
            aload 0 /* serializer */
            invokespecial com.mongodb.util.JSONSerializers$BinarySerializer.<init>:(Lcom/mongodb/util/ObjectSerializer;)V
            invokevirtual com.mongodb.util.ClassMapBasedObjectSerializer.addObjectSerializer:(Ljava/lang/Class;Lcom/mongodb/util/ObjectSerializer;)V
         4: .line 95
            aload 0 /* serializer */
            ldc [B
            new com.mongodb.util.JSONSerializers$ByteArraySerializer
            dup
            aload 0 /* serializer */
            invokespecial com.mongodb.util.JSONSerializers$ByteArraySerializer.<init>:(Lcom/mongodb/util/ObjectSerializer;)V
            invokevirtual com.mongodb.util.ClassMapBasedObjectSerializer.addObjectSerializer:(Ljava/lang/Class;Lcom/mongodb/util/ObjectSerializer;)V
         5: .line 97
            aload 0 /* serializer */
            areturn
        end local 0 // com.mongodb.util.ClassMapBasedObjectSerializer serializer
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            1    6     0  serializer  Lcom/mongodb/util/ClassMapBasedObjectSerializer;

  static com.mongodb.util.ClassMapBasedObjectSerializer addCommonSerializers();
    descriptor: ()Lcom/mongodb/util/ClassMapBasedObjectSerializer;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=1, args_size=0
         0: .line 101
            new com.mongodb.util.ClassMapBasedObjectSerializer
            dup
            invokespecial com.mongodb.util.ClassMapBasedObjectSerializer.<init>:()V
            astore 0 /* serializer */
        start local 0 // com.mongodb.util.ClassMapBasedObjectSerializer serializer
         1: .line 103
            aload 0 /* serializer */
            ldc [Ljava/lang/Object;
            new com.mongodb.util.JSONSerializers$ObjectArraySerializer
            dup
            aload 0 /* serializer */
            invokespecial com.mongodb.util.JSONSerializers$ObjectArraySerializer.<init>:(Lcom/mongodb/util/ObjectSerializer;)V
            invokevirtual com.mongodb.util.ClassMapBasedObjectSerializer.addObjectSerializer:(Ljava/lang/Class;Lcom/mongodb/util/ObjectSerializer;)V
         2: .line 104
            aload 0 /* serializer */
            ldc Ljava/lang/Boolean;
            new com.mongodb.util.JSONSerializers$ToStringSerializer
            dup
            invokespecial com.mongodb.util.JSONSerializers$ToStringSerializer.<init>:()V
            invokevirtual com.mongodb.util.ClassMapBasedObjectSerializer.addObjectSerializer:(Ljava/lang/Class;Lcom/mongodb/util/ObjectSerializer;)V
         3: .line 105
            aload 0 /* serializer */
            ldc Lorg/bson/types/Code;
            new com.mongodb.util.JSONSerializers$CodeSerializer
            dup
            aload 0 /* serializer */
            invokespecial com.mongodb.util.JSONSerializers$CodeSerializer.<init>:(Lcom/mongodb/util/ObjectSerializer;)V
            invokevirtual com.mongodb.util.ClassMapBasedObjectSerializer.addObjectSerializer:(Ljava/lang/Class;Lcom/mongodb/util/ObjectSerializer;)V
         4: .line 106
            aload 0 /* serializer */
            ldc Lorg/bson/types/CodeWScope;
            new com.mongodb.util.JSONSerializers$CodeWScopeSerializer
            dup
            aload 0 /* serializer */
            invokespecial com.mongodb.util.JSONSerializers$CodeWScopeSerializer.<init>:(Lcom/mongodb/util/ObjectSerializer;)V
            invokevirtual com.mongodb.util.ClassMapBasedObjectSerializer.addObjectSerializer:(Ljava/lang/Class;Lcom/mongodb/util/ObjectSerializer;)V
         5: .line 107
            aload 0 /* serializer */
            ldc Lcom/mongodb/DBObject;
            new com.mongodb.util.JSONSerializers$DBObjectSerializer
            dup
            aload 0 /* serializer */
            invokespecial com.mongodb.util.JSONSerializers$DBObjectSerializer.<init>:(Lcom/mongodb/util/ObjectSerializer;)V
            invokevirtual com.mongodb.util.ClassMapBasedObjectSerializer.addObjectSerializer:(Ljava/lang/Class;Lcom/mongodb/util/ObjectSerializer;)V
         6: .line 108
            aload 0 /* serializer */
            ldc Lcom/mongodb/DBRef;
            new com.mongodb.util.JSONSerializers$DBRefBaseSerializer
            dup
            aload 0 /* serializer */
            invokespecial com.mongodb.util.JSONSerializers$DBRefBaseSerializer.<init>:(Lcom/mongodb/util/ObjectSerializer;)V
            invokevirtual com.mongodb.util.ClassMapBasedObjectSerializer.addObjectSerializer:(Ljava/lang/Class;Lcom/mongodb/util/ObjectSerializer;)V
         7: .line 109
            aload 0 /* serializer */
            ldc Ljava/lang/Iterable;
            new com.mongodb.util.JSONSerializers$IterableSerializer
            dup
            aload 0 /* serializer */
            invokespecial com.mongodb.util.JSONSerializers$IterableSerializer.<init>:(Lcom/mongodb/util/ObjectSerializer;)V
            invokevirtual com.mongodb.util.ClassMapBasedObjectSerializer.addObjectSerializer:(Ljava/lang/Class;Lcom/mongodb/util/ObjectSerializer;)V
         8: .line 110
            aload 0 /* serializer */
            ldc Ljava/util/Map;
            new com.mongodb.util.JSONSerializers$MapSerializer
            dup
            aload 0 /* serializer */
            invokespecial com.mongodb.util.JSONSerializers$MapSerializer.<init>:(Lcom/mongodb/util/ObjectSerializer;)V
            invokevirtual com.mongodb.util.ClassMapBasedObjectSerializer.addObjectSerializer:(Ljava/lang/Class;Lcom/mongodb/util/ObjectSerializer;)V
         9: .line 111
            aload 0 /* serializer */
            ldc Lorg/bson/types/MaxKey;
            new com.mongodb.util.JSONSerializers$MaxKeySerializer
            dup
            aload 0 /* serializer */
            invokespecial com.mongodb.util.JSONSerializers$MaxKeySerializer.<init>:(Lcom/mongodb/util/ObjectSerializer;)V
            invokevirtual com.mongodb.util.ClassMapBasedObjectSerializer.addObjectSerializer:(Ljava/lang/Class;Lcom/mongodb/util/ObjectSerializer;)V
        10: .line 112
            aload 0 /* serializer */
            ldc Lorg/bson/types/MinKey;
            new com.mongodb.util.JSONSerializers$MinKeySerializer
            dup
            aload 0 /* serializer */
            invokespecial com.mongodb.util.JSONSerializers$MinKeySerializer.<init>:(Lcom/mongodb/util/ObjectSerializer;)V
            invokevirtual com.mongodb.util.ClassMapBasedObjectSerializer.addObjectSerializer:(Ljava/lang/Class;Lcom/mongodb/util/ObjectSerializer;)V
        11: .line 113
            aload 0 /* serializer */
            ldc Ljava/lang/Number;
            new com.mongodb.util.JSONSerializers$ToStringSerializer
            dup
            invokespecial com.mongodb.util.JSONSerializers$ToStringSerializer.<init>:()V
            invokevirtual com.mongodb.util.ClassMapBasedObjectSerializer.addObjectSerializer:(Ljava/lang/Class;Lcom/mongodb/util/ObjectSerializer;)V
        12: .line 114
            aload 0 /* serializer */
            ldc Lorg/bson/types/ObjectId;
            new com.mongodb.util.JSONSerializers$ObjectIdSerializer
            dup
            aload 0 /* serializer */
            invokespecial com.mongodb.util.JSONSerializers$ObjectIdSerializer.<init>:(Lcom/mongodb/util/ObjectSerializer;)V
            invokevirtual com.mongodb.util.ClassMapBasedObjectSerializer.addObjectSerializer:(Ljava/lang/Class;Lcom/mongodb/util/ObjectSerializer;)V
        13: .line 115
            aload 0 /* serializer */
            ldc Ljava/util/regex/Pattern;
            new com.mongodb.util.JSONSerializers$PatternSerializer
            dup
            aload 0 /* serializer */
            invokespecial com.mongodb.util.JSONSerializers$PatternSerializer.<init>:(Lcom/mongodb/util/ObjectSerializer;)V
            invokevirtual com.mongodb.util.ClassMapBasedObjectSerializer.addObjectSerializer:(Ljava/lang/Class;Lcom/mongodb/util/ObjectSerializer;)V
        14: .line 116
            aload 0 /* serializer */
            ldc Ljava/lang/String;
            new com.mongodb.util.JSONSerializers$StringSerializer
            dup
            invokespecial com.mongodb.util.JSONSerializers$StringSerializer.<init>:()V
            invokevirtual com.mongodb.util.ClassMapBasedObjectSerializer.addObjectSerializer:(Ljava/lang/Class;Lcom/mongodb/util/ObjectSerializer;)V
        15: .line 117
            aload 0 /* serializer */
            ldc Lorg/bson/types/Symbol;
            new com.mongodb.util.JSONSerializers$SymbolSerializer
            dup
            aload 0 /* serializer */
            invokespecial com.mongodb.util.JSONSerializers$SymbolSerializer.<init>:(Lcom/mongodb/util/ObjectSerializer;)V
            invokevirtual com.mongodb.util.ClassMapBasedObjectSerializer.addObjectSerializer:(Ljava/lang/Class;Lcom/mongodb/util/ObjectSerializer;)V
        16: .line 118
            aload 0 /* serializer */
            ldc Ljava/util/UUID;
            new com.mongodb.util.JSONSerializers$UuidSerializer
            dup
            aload 0 /* serializer */
            invokespecial com.mongodb.util.JSONSerializers$UuidSerializer.<init>:(Lcom/mongodb/util/ObjectSerializer;)V
            invokevirtual com.mongodb.util.ClassMapBasedObjectSerializer.addObjectSerializer:(Ljava/lang/Class;Lcom/mongodb/util/ObjectSerializer;)V
        17: .line 119
            aload 0 /* serializer */
            ldc Lorg/bson/BsonUndefined;
            new com.mongodb.util.JSONSerializers$UndefinedSerializer
            dup
            aload 0 /* serializer */
            invokespecial com.mongodb.util.JSONSerializers$UndefinedSerializer.<init>:(Lcom/mongodb/util/ObjectSerializer;)V
            invokevirtual com.mongodb.util.ClassMapBasedObjectSerializer.addObjectSerializer:(Ljava/lang/Class;Lcom/mongodb/util/ObjectSerializer;)V
        18: .line 120
            aload 0 /* serializer */
            ldc Lorg/bson/types/Decimal128;
            new com.mongodb.util.JSONSerializers$Decimal128Serializer
            dup
            aload 0 /* serializer */
            invokespecial com.mongodb.util.JSONSerializers$Decimal128Serializer.<init>:(Lcom/mongodb/util/ObjectSerializer;)V
            invokevirtual com.mongodb.util.ClassMapBasedObjectSerializer.addObjectSerializer:(Ljava/lang/Class;Lcom/mongodb/util/ObjectSerializer;)V
        19: .line 121
            aload 0 /* serializer */
            areturn
        end local 0 // com.mongodb.util.ClassMapBasedObjectSerializer serializer
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            1   20     0  serializer  Lcom/mongodb/util/ClassMapBasedObjectSerializer;
}
SourceFile: "JSONSerializers.java"
NestMembers:
  com.mongodb.util.JSONSerializers$BSONTimestampSerializer  com.mongodb.util.JSONSerializers$BinarySerializer  com.mongodb.util.JSONSerializers$BinarySerializerBase  com.mongodb.util.JSONSerializers$ByteArraySerializer  com.mongodb.util.JSONSerializers$CodeSerializer  com.mongodb.util.JSONSerializers$CodeWScopeSerializer  com.mongodb.util.JSONSerializers$CompoundObjectSerializer  com.mongodb.util.JSONSerializers$DBObjectSerializer  com.mongodb.util.JSONSerializers$DBRefBaseSerializer  com.mongodb.util.JSONSerializers$DateSerializer  com.mongodb.util.JSONSerializers$Decimal128Serializer  com.mongodb.util.JSONSerializers$IterableSerializer  com.mongodb.util.JSONSerializers$LegacyBSONTimestampSerializer  com.mongodb.util.JSONSerializers$LegacyBinarySerializer  com.mongodb.util.JSONSerializers$LegacyDateSerializer  com.mongodb.util.JSONSerializers$MapSerializer  com.mongodb.util.JSONSerializers$MaxKeySerializer  com.mongodb.util.JSONSerializers$MinKeySerializer  com.mongodb.util.JSONSerializers$ObjectArraySerializer  com.mongodb.util.JSONSerializers$ObjectIdSerializer  com.mongodb.util.JSONSerializers$PatternSerializer  com.mongodb.util.JSONSerializers$StringSerializer  com.mongodb.util.JSONSerializers$SymbolSerializer  com.mongodb.util.JSONSerializers$ToStringSerializer  com.mongodb.util.JSONSerializers$UndefinedSerializer  com.mongodb.util.JSONSerializers$UuidSerializer
InnerClasses:
  private BSONTimestampSerializer = com.mongodb.util.JSONSerializers$BSONTimestampSerializer of com.mongodb.util.JSONSerializers
  private BinarySerializer = com.mongodb.util.JSONSerializers$BinarySerializer of com.mongodb.util.JSONSerializers
  private abstract BinarySerializerBase = com.mongodb.util.JSONSerializers$BinarySerializerBase of com.mongodb.util.JSONSerializers
  private ByteArraySerializer = com.mongodb.util.JSONSerializers$ByteArraySerializer of com.mongodb.util.JSONSerializers
  private CodeSerializer = com.mongodb.util.JSONSerializers$CodeSerializer of com.mongodb.util.JSONSerializers
  private CodeWScopeSerializer = com.mongodb.util.JSONSerializers$CodeWScopeSerializer of com.mongodb.util.JSONSerializers
  private abstract CompoundObjectSerializer = com.mongodb.util.JSONSerializers$CompoundObjectSerializer of com.mongodb.util.JSONSerializers
  private DBObjectSerializer = com.mongodb.util.JSONSerializers$DBObjectSerializer of com.mongodb.util.JSONSerializers
  private DBRefBaseSerializer = com.mongodb.util.JSONSerializers$DBRefBaseSerializer of com.mongodb.util.JSONSerializers
  private DateSerializer = com.mongodb.util.JSONSerializers$DateSerializer of com.mongodb.util.JSONSerializers
  private Decimal128Serializer = com.mongodb.util.JSONSerializers$Decimal128Serializer of com.mongodb.util.JSONSerializers
  private IterableSerializer = com.mongodb.util.JSONSerializers$IterableSerializer of com.mongodb.util.JSONSerializers
  private LegacyBSONTimestampSerializer = com.mongodb.util.JSONSerializers$LegacyBSONTimestampSerializer of com.mongodb.util.JSONSerializers
  private LegacyBinarySerializer = com.mongodb.util.JSONSerializers$LegacyBinarySerializer of com.mongodb.util.JSONSerializers
  private LegacyDateSerializer = com.mongodb.util.JSONSerializers$LegacyDateSerializer of com.mongodb.util.JSONSerializers
  private MapSerializer = com.mongodb.util.JSONSerializers$MapSerializer of com.mongodb.util.JSONSerializers
  private MaxKeySerializer = com.mongodb.util.JSONSerializers$MaxKeySerializer of com.mongodb.util.JSONSerializers
  private MinKeySerializer = com.mongodb.util.JSONSerializers$MinKeySerializer of com.mongodb.util.JSONSerializers
  private ObjectArraySerializer = com.mongodb.util.JSONSerializers$ObjectArraySerializer of com.mongodb.util.JSONSerializers
  private ObjectIdSerializer = com.mongodb.util.JSONSerializers$ObjectIdSerializer of com.mongodb.util.JSONSerializers
  private PatternSerializer = com.mongodb.util.JSONSerializers$PatternSerializer of com.mongodb.util.JSONSerializers
  private StringSerializer = com.mongodb.util.JSONSerializers$StringSerializer of com.mongodb.util.JSONSerializers
  private SymbolSerializer = com.mongodb.util.JSONSerializers$SymbolSerializer of com.mongodb.util.JSONSerializers
  private ToStringSerializer = com.mongodb.util.JSONSerializers$ToStringSerializer of com.mongodb.util.JSONSerializers
  private UndefinedSerializer = com.mongodb.util.JSONSerializers$UndefinedSerializer of com.mongodb.util.JSONSerializers
  private UuidSerializer = com.mongodb.util.JSONSerializers$UuidSerializer of com.mongodb.util.JSONSerializers
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()