class com.mongodb.util.JSONSerializers$MapSerializer extends com.mongodb.util.JSONSerializers$CompoundObjectSerializer
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.mongodb.util.JSONSerializers$MapSerializer
  super_class: com.mongodb.util.JSONSerializers$CompoundObjectSerializer
{
  void <init>(com.mongodb.util.ObjectSerializer);
    descriptor: (Lcom/mongodb/util/ObjectSerializer;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mongodb.util.JSONSerializers$MapSerializer this
        start local 1 // com.mongodb.util.ObjectSerializer serializer
         0: .line 316
            aload 0 /* this */
            aload 1 /* serializer */
            invokespecial com.mongodb.util.JSONSerializers$CompoundObjectSerializer.<init>:(Lcom/mongodb/util/ObjectSerializer;)V
         1: .line 317
            return
        end local 1 // com.mongodb.util.ObjectSerializer serializer
        end local 0 // com.mongodb.util.JSONSerializers$MapSerializer this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lcom/mongodb/util/JSONSerializers$MapSerializer;
            0    2     1  serializer  Lcom/mongodb/util/ObjectSerializer;
    MethodParameters:
            Name  Flags
      serializer  final

  public void serialize(java.lang.Object, java.lang.StringBuilder);
    descriptor: (Ljava/lang/Object;Ljava/lang/StringBuilder;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // com.mongodb.util.JSONSerializers$MapSerializer this
        start local 1 // java.lang.Object obj
        start local 2 // java.lang.StringBuilder buf
         0: .line 322
            iconst_1
            istore 3 /* first */
        start local 3 // boolean first
         1: .line 323
            aload 2 /* buf */
            ldc "{ "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 324
            aload 1 /* obj */
            checkcast java.util.Map
            astore 4 /* m */
        start local 4 // java.util.Map m
         3: .line 327
            aload 4 /* m */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 13
      StackMap locals: com.mongodb.util.JSONSerializers$MapSerializer java.lang.Object java.lang.StringBuilder int java.util.Map top top java.util.Iterator
      StackMap stack:
         4: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 6 /* o */
        start local 6 // java.lang.Object o
         5: .line 328
            aload 6 /* o */
            checkcast java.util.Map$Entry
            astore 5 /* entry */
        start local 5 // java.util.Map$Entry entry
         6: .line 329
            iload 3 /* first */
            ifeq 9
         7: .line 330
            iconst_0
            istore 3 /* first */
         8: .line 331
            goto 10
         9: .line 332
      StackMap locals: com.mongodb.util.JSONSerializers$MapSerializer java.lang.Object java.lang.StringBuilder int java.util.Map java.util.Map$Entry java.lang.Object java.util.Iterator
      StackMap stack:
            aload 2 /* buf */
            ldc " , "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 334
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic com.mongodb.util.JSON.string:(Ljava/lang/StringBuilder;Ljava/lang/String;)V
        11: .line 335
            aload 2 /* buf */
            ldc " : "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 336
            aload 0 /* this */
            getfield com.mongodb.util.JSONSerializers$MapSerializer.serializer:Lcom/mongodb/util/ObjectSerializer;
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            aload 2 /* buf */
            invokeinterface com.mongodb.util.ObjectSerializer.serialize:(Ljava/lang/Object;Ljava/lang/StringBuilder;)V
        end local 6 // java.lang.Object o
        end local 5 // java.util.Map$Entry entry
        13: .line 327
      StackMap locals: com.mongodb.util.JSONSerializers$MapSerializer java.lang.Object java.lang.StringBuilder int java.util.Map top top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        14: .line 339
            aload 2 /* buf */
            ldc "}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 340
            return
        end local 4 // java.util.Map m
        end local 3 // boolean first
        end local 2 // java.lang.StringBuilder buf
        end local 1 // java.lang.Object obj
        end local 0 // com.mongodb.util.JSONSerializers$MapSerializer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   16     0   this  Lcom/mongodb/util/JSONSerializers$MapSerializer;
            0   16     1    obj  Ljava/lang/Object;
            0   16     2    buf  Ljava/lang/StringBuilder;
            1   16     3  first  Z
            3   16     4      m  Ljava/util/Map;
            6   13     5  entry  Ljava/util/Map$Entry;
            5   13     6      o  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   final
      buf   final
}
SourceFile: "JSONSerializers.java"
NestHost: com.mongodb.util.JSONSerializers
InnerClasses:
  private abstract CompoundObjectSerializer = com.mongodb.util.JSONSerializers$CompoundObjectSerializer of com.mongodb.util.JSONSerializers
  private MapSerializer = com.mongodb.util.JSONSerializers$MapSerializer of com.mongodb.util.JSONSerializers
  public abstract Entry = java.util.Map$Entry of java.util.Map