public abstract class io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec<O, A> implements org.bson.codecs.Codec<O>
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec
  super_class: java.lang.Object
{
  private static volatile int[] $SWITCH_TABLE$org$bson$BsonType;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
         0: .line 19
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;

  public O decode(org.bson.BsonReader, org.bson.codecs.DecoderContext);
    descriptor: (Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonReader reader
        start local 2 // org.bson.codecs.DecoderContext decoderContext
         0: .line 23
            aload 0 /* this */
            aload 1 /* reader */
            aload 2 /* decoderContext */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.readDocument:(Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
            areturn
        end local 2 // org.bson.codecs.DecoderContext decoderContext
        end local 1 // org.bson.BsonReader reader
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    1     1          reader  Lorg/bson/BsonReader;
            0    1     2  decoderContext  Lorg/bson/codecs/DecoderContext;
    Signature: (Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)TO;
    MethodParameters:
                Name  Flags
      reader          
      decoderContext  

  public void encode(org.bson.BsonWriter, O, org.bson.codecs.EncoderContext);
    descriptor: (Lorg/bson/BsonWriter;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonWriter writer
        start local 2 // java.lang.Object value
        start local 3 // org.bson.codecs.EncoderContext encoderContext
         0: .line 28
            aload 0 /* this */
            aload 1 /* writer */
            aconst_null
            aload 2 /* value */
            aload 3 /* encoderContext */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.writeDocument:(Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
         1: .line 29
            return
        end local 3 // org.bson.codecs.EncoderContext encoderContext
        end local 2 // java.lang.Object value
        end local 1 // org.bson.BsonWriter writer
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    2     1          writer  Lorg/bson/BsonWriter;
            0    2     2           value  TO;
            0    2     3  encoderContext  Lorg/bson/codecs/EncoderContext;
    Signature: (Lorg/bson/BsonWriter;TO;Lorg/bson/codecs/EncoderContext;)V
    MethodParameters:
                Name  Flags
      writer          
      value           
      encoderContext  

  protected java.lang.Object readValue(org.bson.BsonReader, org.bson.codecs.DecoderContext);
    descriptor: (Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonReader reader
        start local 2 // org.bson.codecs.DecoderContext ctx
         0: .line 32
            aload 1 /* reader */
            invokeinterface org.bson.BsonReader.getCurrentBsonType:()Lorg/bson/BsonType;
            astore 3 /* type */
        start local 3 // org.bson.BsonType type
         1: .line 33
            invokestatic io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.$SWITCH_TABLE$org$bson$BsonType:()[I
            aload 3 /* type */
            invokevirtual org.bson.BsonType.ordinal:()I
            iaload
            tableswitch { // 2 - 22
                    2: 9
                    3: 18
                    4: 8
                    5: 3
                    6: 4
                    7: 21
                    8: 16
                    9: 5
                   10: 6
                   11: 2
                   12: 17
                   13: 7
                   14: 14
                   15: 19
                   16: 15
                   17: 10
                   18: 20
                   19: 11
                   20: 22
                   21: 13
                   22: 12
              default: 22
          }
         2: .line 35
      StackMap locals: org.bson.BsonType
      StackMap stack:
            aload 0 /* this */
            aload 1 /* reader */
            aload 2 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.readNull:(Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
            areturn
         3: .line 37
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* reader */
            aload 2 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.readArray:(Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
            areturn
         4: .line 39
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* reader */
            aload 2 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.readBinary:(Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
            areturn
         5: .line 41
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* reader */
            aload 2 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.readBoolean:(Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
            areturn
         6: .line 43
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* reader */
            aload 2 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.readDateTime:(Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
            areturn
         7: .line 45
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* reader */
            aload 2 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.readDbPointer:(Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
            areturn
         8: .line 47
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* reader */
            aload 2 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.readDocument:(Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
            areturn
         9: .line 49
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* reader */
            aload 2 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.readDouble:(Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
            areturn
        10: .line 51
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* reader */
            aload 2 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.readInt32:(Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
            areturn
        11: .line 53
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* reader */
            aload 2 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.readInt64:(Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
            areturn
        12: .line 55
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* reader */
            aload 2 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.readMaxKey:(Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
            areturn
        13: .line 57
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* reader */
            aload 2 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.readMinKey:(Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
            areturn
        14: .line 59
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* reader */
            aload 2 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.readJavaScript:(Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
            areturn
        15: .line 61
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* reader */
            aload 2 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.readJavaScriptWithScope:(Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
            areturn
        16: .line 63
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* reader */
            aload 2 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.readObjectId:(Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
            areturn
        17: .line 65
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* reader */
            aload 2 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.readRegularExpression:(Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
            areturn
        18: .line 67
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* reader */
            aload 2 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.readString:(Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
            areturn
        19: .line 69
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* reader */
            aload 2 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.readSymbol:(Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
            areturn
        20: .line 71
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* reader */
            aload 2 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.readTimeStamp:(Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
            areturn
        21: .line 73
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* reader */
            aload 2 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.readUndefined:(Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
            areturn
        22: .line 75
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown bson type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // org.bson.BsonType type
        end local 2 // org.bson.codecs.DecoderContext ctx
        end local 1 // org.bson.BsonReader reader
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   23     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0   23     1  reader  Lorg/bson/BsonReader;
            0   23     2     ctx  Lorg/bson/codecs/DecoderContext;
            1   23     3    type  Lorg/bson/BsonType;
    MethodParameters:
        Name  Flags
      reader  
      ctx     

  protected void writeValue(org.bson.BsonWriter, java.lang.String, java.lang.Object, org.bson.codecs.EncoderContext);
    descriptor: (Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonWriter writer
        start local 2 // java.lang.String name
        start local 3 // java.lang.Object value
        start local 4 // org.bson.codecs.EncoderContext ctx
         0: .line 81
            aload 0 /* this */
            aload 3 /* value */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.getBsonType:(Ljava/lang/Object;)Lorg/bson/BsonType;
            astore 5 /* type */
        start local 5 // org.bson.BsonType type
         1: .line 82
            aload 5 /* type */
            ifnonnull 3
         2: .line 83
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown BsonType for '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* value */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 85
      StackMap locals: org.bson.BsonType
      StackMap stack:
            invokestatic io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.$SWITCH_TABLE$org$bson$BsonType:()[I
            aload 5 /* type */
            invokevirtual org.bson.BsonType.ordinal:()I
            iaload
            tableswitch { // 2 - 22
                    2: 18
                    3: 36
                    4: 16
                    5: 6
                    6: 8
                    7: 42
                    8: 32
                    9: 10
                   10: 12
                   11: 4
                   12: 34
                   13: 14
                   14: 28
                   15: 38
                   16: 30
                   17: 20
                   18: 40
                   19: 22
                   20: 44
                   21: 26
                   22: 24
              default: 44
          }
         4: .line 87
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* writer */
            aload 2 /* name */
            aload 3 /* value */
            aload 4 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.writeNull:(Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
         5: .line 88
            goto 45
         6: .line 90
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* writer */
            aload 2 /* name */
            aload 3 /* value */
            aload 4 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.writeArray:(Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
         7: .line 91
            goto 45
         8: .line 93
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* writer */
            aload 2 /* name */
            aload 3 /* value */
            aload 4 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.writeBinary:(Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
         9: .line 94
            goto 45
        10: .line 96
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* writer */
            aload 2 /* name */
            aload 3 /* value */
            aload 4 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.writeBoolean:(Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
        11: .line 97
            goto 45
        12: .line 99
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* writer */
            aload 2 /* name */
            aload 3 /* value */
            aload 4 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.writeDateTime:(Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
        13: .line 100
            goto 45
        14: .line 102
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* writer */
            aload 2 /* name */
            aload 3 /* value */
            aload 4 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.writeDbPointer:(Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
        15: .line 103
            goto 45
        16: .line 105
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* writer */
            aload 2 /* name */
            aload 3 /* value */
            aload 4 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.writeDocument:(Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
        17: .line 106
            goto 45
        18: .line 108
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* writer */
            aload 2 /* name */
            aload 3 /* value */
            aload 4 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.writeDouble:(Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
        19: .line 109
            goto 45
        20: .line 111
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* writer */
            aload 2 /* name */
            aload 3 /* value */
            aload 4 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.writeInt32:(Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
        21: .line 112
            goto 45
        22: .line 114
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* writer */
            aload 2 /* name */
            aload 3 /* value */
            aload 4 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.writeInt64:(Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
        23: .line 115
            goto 45
        24: .line 117
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* writer */
            aload 2 /* name */
            aload 3 /* value */
            aload 4 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.writeMaxKey:(Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
        25: .line 118
            goto 45
        26: .line 120
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* writer */
            aload 2 /* name */
            aload 3 /* value */
            aload 4 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.writeMinKey:(Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
        27: .line 121
            goto 45
        28: .line 123
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* writer */
            aload 2 /* name */
            aload 3 /* value */
            aload 4 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.writeJavaScript:(Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
        29: .line 124
            goto 45
        30: .line 126
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* writer */
            aload 2 /* name */
            aload 3 /* value */
            aload 4 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.writeJavaScriptWithScope:(Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
        31: .line 127
            goto 45
        32: .line 129
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* writer */
            aload 2 /* name */
            aload 3 /* value */
            aload 4 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.writeObjectId:(Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
        33: .line 130
            goto 45
        34: .line 132
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* writer */
            aload 2 /* name */
            aload 3 /* value */
            aload 4 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.writeRegularExpression:(Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
        35: .line 133
            goto 45
        36: .line 135
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* writer */
            aload 2 /* name */
            aload 3 /* value */
            aload 4 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.writeString:(Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
        37: .line 136
            goto 45
        38: .line 138
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* writer */
            aload 2 /* name */
            aload 3 /* value */
            aload 4 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.writeSymbol:(Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
        39: .line 139
            goto 45
        40: .line 141
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* writer */
            aload 2 /* name */
            aload 3 /* value */
            aload 4 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.writeTimeStamp:(Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
        41: .line 142
            goto 45
        42: .line 144
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* writer */
            aload 2 /* name */
            aload 3 /* value */
            aload 4 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.writeUndefined:(Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
        43: .line 145
            goto 45
        44: .line 147
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown bson type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        45: .line 149
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.bson.BsonType type
        end local 4 // org.bson.codecs.EncoderContext ctx
        end local 3 // java.lang.Object value
        end local 2 // java.lang.String name
        end local 1 // org.bson.BsonWriter writer
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   46     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0   46     1  writer  Lorg/bson/BsonWriter;
            0   46     2    name  Ljava/lang/String;
            0   46     3   value  Ljava/lang/Object;
            0   46     4     ctx  Lorg/bson/codecs/EncoderContext;
            1   46     5    type  Lorg/bson/BsonType;
    MethodParameters:
        Name  Flags
      writer  
      name    
      value   
      ctx     

  protected org.bson.BsonType getBsonType(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/bson/BsonType;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // java.lang.Object value
         0: .line 152
            aload 1 /* value */
            ifnonnull 2
         1: .line 153
            getstatic org.bson.BsonType.NULL:Lorg/bson/BsonType;
            areturn
         2: .line 154
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            instanceof java.lang.Boolean
            ifeq 4
         3: .line 155
            getstatic org.bson.BsonType.BOOLEAN:Lorg/bson/BsonType;
            areturn
         4: .line 156
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            instanceof java.lang.Double
            ifeq 6
         5: .line 157
            getstatic org.bson.BsonType.DOUBLE:Lorg/bson/BsonType;
            areturn
         6: .line 158
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            instanceof java.lang.Integer
            ifeq 8
         7: .line 159
            getstatic org.bson.BsonType.INT32:Lorg/bson/BsonType;
            areturn
         8: .line 160
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            instanceof java.lang.Long
            ifeq 10
         9: .line 161
            getstatic org.bson.BsonType.INT64:Lorg/bson/BsonType;
            areturn
        10: .line 162
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            instanceof java.lang.String
            ifeq 12
        11: .line 163
            getstatic org.bson.BsonType.STRING:Lorg/bson/BsonType;
            areturn
        12: .line 164
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.isObjectIdInstance:(Ljava/lang/Object;)Z
            ifeq 14
        13: .line 165
            getstatic org.bson.BsonType.OBJECT_ID:Lorg/bson/BsonType;
            areturn
        14: .line 166
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.isObjectInstance:(Ljava/lang/Object;)Z
            ifeq 16
        15: .line 167
            getstatic org.bson.BsonType.DOCUMENT:Lorg/bson/BsonType;
            areturn
        16: .line 168
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.isArrayInstance:(Ljava/lang/Object;)Z
            ifeq 18
        17: .line 169
            getstatic org.bson.BsonType.ARRAY:Lorg/bson/BsonType;
            areturn
        18: .line 171
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.Object value
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   19     0   this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0   19     1  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  protected java.lang.Object readNull(org.bson.BsonReader, org.bson.codecs.DecoderContext);
    descriptor: (Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonReader reader
        start local 2 // org.bson.codecs.DecoderContext ctx
         0: .line 178
            aload 1 /* reader */
            invokeinterface org.bson.BsonReader.readNull:()V
         1: .line 179
            aconst_null
            areturn
        end local 2 // org.bson.codecs.DecoderContext ctx
        end local 1 // org.bson.BsonReader reader
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    2     1  reader  Lorg/bson/BsonReader;
            0    2     2     ctx  Lorg/bson/codecs/DecoderContext;
    MethodParameters:
        Name  Flags
      reader  
      ctx     

  protected void writeNull(org.bson.BsonWriter, java.lang.String, java.lang.Object, org.bson.codecs.EncoderContext);
    descriptor: (Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=5, args_size=5
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonWriter writer
        start local 2 // java.lang.String name
        start local 3 // java.lang.Object value
        start local 4 // org.bson.codecs.EncoderContext ctx
         0: .line 183
            aload 1 /* writer */
            invokeinterface org.bson.BsonWriter.writeNull:()V
         1: .line 184
            return
        end local 4 // org.bson.codecs.EncoderContext ctx
        end local 3 // java.lang.Object value
        end local 2 // java.lang.String name
        end local 1 // org.bson.BsonWriter writer
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    2     1  writer  Lorg/bson/BsonWriter;
            0    2     2    name  Ljava/lang/String;
            0    2     3   value  Ljava/lang/Object;
            0    2     4     ctx  Lorg/bson/codecs/EncoderContext;
    MethodParameters:
        Name  Flags
      writer  
      name    
      value   
      ctx     

  protected java.lang.Object readBoolean(org.bson.BsonReader, org.bson.codecs.DecoderContext);
    descriptor: (Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonReader reader
        start local 2 // org.bson.codecs.DecoderContext ctx
         0: .line 187
            aload 1 /* reader */
            invokeinterface org.bson.BsonReader.readBoolean:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        end local 2 // org.bson.codecs.DecoderContext ctx
        end local 1 // org.bson.BsonReader reader
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    1     1  reader  Lorg/bson/BsonReader;
            0    1     2     ctx  Lorg/bson/codecs/DecoderContext;
    MethodParameters:
        Name  Flags
      reader  
      ctx     

  protected void writeBoolean(org.bson.BsonWriter, java.lang.String, java.lang.Object, org.bson.codecs.EncoderContext);
    descriptor: (Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonWriter writer
        start local 2 // java.lang.String name
        start local 3 // java.lang.Object value
        start local 4 // org.bson.codecs.EncoderContext ctx
         0: .line 191
            aload 1 /* writer */
            aload 3 /* value */
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            invokeinterface org.bson.BsonWriter.writeBoolean:(Z)V
         1: .line 192
            return
        end local 4 // org.bson.codecs.EncoderContext ctx
        end local 3 // java.lang.Object value
        end local 2 // java.lang.String name
        end local 1 // org.bson.BsonWriter writer
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    2     1  writer  Lorg/bson/BsonWriter;
            0    2     2    name  Ljava/lang/String;
            0    2     3   value  Ljava/lang/Object;
            0    2     4     ctx  Lorg/bson/codecs/EncoderContext;
    MethodParameters:
        Name  Flags
      writer  
      name    
      value   
      ctx     

  protected java.lang.Object readDouble(org.bson.BsonReader, org.bson.codecs.DecoderContext);
    descriptor: (Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonReader reader
        start local 2 // org.bson.codecs.DecoderContext ctx
         0: .line 195
            aload 1 /* reader */
            invokeinterface org.bson.BsonReader.readDouble:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
        end local 2 // org.bson.codecs.DecoderContext ctx
        end local 1 // org.bson.BsonReader reader
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    1     1  reader  Lorg/bson/BsonReader;
            0    1     2     ctx  Lorg/bson/codecs/DecoderContext;
    MethodParameters:
        Name  Flags
      reader  
      ctx     

  protected void writeDouble(org.bson.BsonWriter, java.lang.String, java.lang.Object, org.bson.codecs.EncoderContext);
    descriptor: (Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonWriter writer
        start local 2 // java.lang.String name
        start local 3 // java.lang.Object value
        start local 4 // org.bson.codecs.EncoderContext ctx
         0: .line 199
            aload 1 /* writer */
            aload 3 /* value */
            checkcast java.lang.Double
            invokevirtual java.lang.Double.doubleValue:()D
            invokeinterface org.bson.BsonWriter.writeDouble:(D)V
         1: .line 200
            return
        end local 4 // org.bson.codecs.EncoderContext ctx
        end local 3 // java.lang.Object value
        end local 2 // java.lang.String name
        end local 1 // org.bson.BsonWriter writer
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    2     1  writer  Lorg/bson/BsonWriter;
            0    2     2    name  Ljava/lang/String;
            0    2     3   value  Ljava/lang/Object;
            0    2     4     ctx  Lorg/bson/codecs/EncoderContext;
    MethodParameters:
        Name  Flags
      writer  
      name    
      value   
      ctx     

  protected java.lang.Object readInt32(org.bson.BsonReader, org.bson.codecs.DecoderContext);
    descriptor: (Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonReader reader
        start local 2 // org.bson.codecs.DecoderContext ctx
         0: .line 203
            aload 1 /* reader */
            invokeinterface org.bson.BsonReader.readInt32:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        end local 2 // org.bson.codecs.DecoderContext ctx
        end local 1 // org.bson.BsonReader reader
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    1     1  reader  Lorg/bson/BsonReader;
            0    1     2     ctx  Lorg/bson/codecs/DecoderContext;
    MethodParameters:
        Name  Flags
      reader  
      ctx     

  protected void writeInt32(org.bson.BsonWriter, java.lang.String, java.lang.Object, org.bson.codecs.EncoderContext);
    descriptor: (Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonWriter writer
        start local 2 // java.lang.String name
        start local 3 // java.lang.Object value
        start local 4 // org.bson.codecs.EncoderContext ctx
         0: .line 207
            aload 1 /* writer */
            aload 3 /* value */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            invokeinterface org.bson.BsonWriter.writeInt32:(I)V
         1: .line 208
            return
        end local 4 // org.bson.codecs.EncoderContext ctx
        end local 3 // java.lang.Object value
        end local 2 // java.lang.String name
        end local 1 // org.bson.BsonWriter writer
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    2     1  writer  Lorg/bson/BsonWriter;
            0    2     2    name  Ljava/lang/String;
            0    2     3   value  Ljava/lang/Object;
            0    2     4     ctx  Lorg/bson/codecs/EncoderContext;
    MethodParameters:
        Name  Flags
      writer  
      name    
      value   
      ctx     

  protected java.lang.Object readInt64(org.bson.BsonReader, org.bson.codecs.DecoderContext);
    descriptor: (Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonReader reader
        start local 2 // org.bson.codecs.DecoderContext ctx
         0: .line 211
            aload 1 /* reader */
            invokeinterface org.bson.BsonReader.readInt64:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            areturn
        end local 2 // org.bson.codecs.DecoderContext ctx
        end local 1 // org.bson.BsonReader reader
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    1     1  reader  Lorg/bson/BsonReader;
            0    1     2     ctx  Lorg/bson/codecs/DecoderContext;
    MethodParameters:
        Name  Flags
      reader  
      ctx     

  protected void writeInt64(org.bson.BsonWriter, java.lang.String, java.lang.Object, org.bson.codecs.EncoderContext);
    descriptor: (Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonWriter writer
        start local 2 // java.lang.String name
        start local 3 // java.lang.Object value
        start local 4 // org.bson.codecs.EncoderContext ctx
         0: .line 215
            aload 1 /* writer */
            aload 3 /* value */
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            invokeinterface org.bson.BsonWriter.writeInt64:(J)V
         1: .line 216
            return
        end local 4 // org.bson.codecs.EncoderContext ctx
        end local 3 // java.lang.Object value
        end local 2 // java.lang.String name
        end local 1 // org.bson.BsonWriter writer
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    2     1  writer  Lorg/bson/BsonWriter;
            0    2     2    name  Ljava/lang/String;
            0    2     3   value  Ljava/lang/Object;
            0    2     4     ctx  Lorg/bson/codecs/EncoderContext;
    MethodParameters:
        Name  Flags
      writer  
      name    
      value   
      ctx     

  protected java.lang.Object readString(org.bson.BsonReader, org.bson.codecs.DecoderContext);
    descriptor: (Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonReader reader
        start local 2 // org.bson.codecs.DecoderContext ctx
         0: .line 219
            aload 1 /* reader */
            invokeinterface org.bson.BsonReader.readString:()Ljava/lang/String;
            areturn
        end local 2 // org.bson.codecs.DecoderContext ctx
        end local 1 // org.bson.BsonReader reader
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    1     1  reader  Lorg/bson/BsonReader;
            0    1     2     ctx  Lorg/bson/codecs/DecoderContext;
    MethodParameters:
        Name  Flags
      reader  
      ctx     

  protected void writeString(org.bson.BsonWriter, java.lang.String, java.lang.Object, org.bson.codecs.EncoderContext);
    descriptor: (Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonWriter writer
        start local 2 // java.lang.String name
        start local 3 // java.lang.Object value
        start local 4 // org.bson.codecs.EncoderContext ctx
         0: .line 223
            aload 1 /* writer */
            aload 3 /* value */
            checkcast java.lang.String
            invokeinterface org.bson.BsonWriter.writeString:(Ljava/lang/String;)V
         1: .line 224
            return
        end local 4 // org.bson.codecs.EncoderContext ctx
        end local 3 // java.lang.Object value
        end local 2 // java.lang.String name
        end local 1 // org.bson.BsonWriter writer
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    2     1  writer  Lorg/bson/BsonWriter;
            0    2     2    name  Ljava/lang/String;
            0    2     3   value  Ljava/lang/Object;
            0    2     4     ctx  Lorg/bson/codecs/EncoderContext;
    MethodParameters:
        Name  Flags
      writer  
      name    
      value   
      ctx     

  protected abstract boolean isObjectIdInstance(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      instance  

  protected O readDocument(org.bson.BsonReader, org.bson.codecs.DecoderContext);
    descriptor: (Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonReader reader
        start local 2 // org.bson.codecs.DecoderContext ctx
         0: .line 231
            aload 0 /* this */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.newObject:()Ljava/lang/Object;
            astore 3 /* object */
        start local 3 // java.lang.Object object
         1: .line 233
            aload 1 /* reader */
            invokeinterface org.bson.BsonReader.readStartDocument:()V
         2: .line 234
            goto 5
         3: .line 235
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* reader */
            invokeinterface org.bson.BsonReader.readName:()Ljava/lang/String;
            astore 4 /* name */
        start local 4 // java.lang.String name
         4: .line 236
            aload 0 /* this */
            aload 3 /* object */
            aload 4 /* name */
            aload 0 /* this */
            aload 1 /* reader */
            aload 2 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.readValue:(Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.add:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
        end local 4 // java.lang.String name
         5: .line 234
      StackMap locals:
      StackMap stack:
            aload 1 /* reader */
            invokeinterface org.bson.BsonReader.readBsonType:()Lorg/bson/BsonType;
            getstatic org.bson.BsonType.END_OF_DOCUMENT:Lorg/bson/BsonType;
            if_acmpne 3
         6: .line 238
            aload 1 /* reader */
            invokeinterface org.bson.BsonReader.readEndDocument:()V
         7: .line 240
            aload 3 /* object */
            areturn
        end local 3 // java.lang.Object object
        end local 2 // org.bson.codecs.DecoderContext ctx
        end local 1 // org.bson.BsonReader reader
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    8     1  reader  Lorg/bson/BsonReader;
            0    8     2     ctx  Lorg/bson/codecs/DecoderContext;
            1    8     3  object  TO;
            4    5     4    name  Ljava/lang/String;
    Signature: (Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)TO;
    MethodParameters:
        Name  Flags
      reader  
      ctx     

  protected void writeDocument(org.bson.BsonWriter, java.lang.String, java.lang.Object, org.bson.codecs.EncoderContext);
    descriptor: (Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=7, args_size=5
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonWriter writer
        start local 2 // java.lang.String name
        start local 3 // java.lang.Object value
        start local 4 // org.bson.codecs.EncoderContext ctx
         0: .line 245
            aload 3 /* value */
            astore 5 /* object */
        start local 5 // java.lang.Object object
         1: .line 247
            aload 1 /* writer */
            invokeinterface org.bson.BsonWriter.writeStartDocument:()V
         2: .line 249
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 6 /* skip */
        start local 6 // java.util.Set skip
         3: .line 250
            aload 4 /* ctx */
            invokevirtual org.bson.codecs.EncoderContext.isEncodingCollectibleDocument:()Z
            ifeq 5
         4: .line 251
            aload 0 /* this */
            aload 5 /* object */
            aload 0 /* this */
            aload 6 /* skip */
            aload 1 /* writer */
            aload 4 /* ctx */
            invokedynamic accept(Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec;Ljava/util/Set;Lorg/bson/BsonWriter;Lorg/bson/codecs/EncoderContext;)Ljava/util/function/BiConsumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)V
                  io/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec.lambda$0(Ljava/util/Set;Lorg/bson/BsonWriter;Lorg/bson/codecs/EncoderContext;Ljava/lang/String;Ljava/lang/Object;)V (7)
                  (Ljava/lang/String;Ljava/lang/Object;)V
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.beforeFields:(Ljava/lang/Object;Ljava/util/function/BiConsumer;)V
         5: .line 258
      StackMap locals: java.lang.Object java.util.Set
      StackMap stack:
            aload 0 /* this */
            aload 5 /* object */
            aload 0 /* this */
            aload 6 /* skip */
            aload 1 /* writer */
            aload 4 /* ctx */
            invokedynamic accept(Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec;Ljava/util/Set;Lorg/bson/BsonWriter;Lorg/bson/codecs/EncoderContext;)Ljava/util/function/BiConsumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)V
                  io/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec.lambda$1(Ljava/util/Set;Lorg/bson/BsonWriter;Lorg/bson/codecs/EncoderContext;Ljava/lang/String;Ljava/lang/Object;)V (7)
                  (Ljava/lang/String;Ljava/lang/Object;)V
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.forEach:(Ljava/lang/Object;Ljava/util/function/BiConsumer;)V
         6: .line 265
            aload 1 /* writer */
            invokeinterface org.bson.BsonWriter.writeEndDocument:()V
         7: .line 266
            return
        end local 6 // java.util.Set skip
        end local 5 // java.lang.Object object
        end local 4 // org.bson.codecs.EncoderContext ctx
        end local 3 // java.lang.Object value
        end local 2 // java.lang.String name
        end local 1 // org.bson.BsonWriter writer
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    8     1  writer  Lorg/bson/BsonWriter;
            0    8     2    name  Ljava/lang/String;
            0    8     3   value  Ljava/lang/Object;
            0    8     4     ctx  Lorg/bson/codecs/EncoderContext;
            1    8     5  object  TO;
            3    8     6    skip  Ljava/util/Set<Ljava/lang/String;>;
    MethodParameters:
        Name  Flags
      writer  
      name    
      value   
      ctx     

  protected abstract O newObject();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: ()TO;

  protected abstract void add(O, java.lang.String, );
    descriptor: (Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: (TO;Ljava/lang/String;Ljava/lang/Object;)V
    MethodParameters:
        Name  Flags
      object  
      name    
      value   

  protected abstract boolean isObjectInstance(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      instance  

  protected void beforeFields(O, java.util.function.BiConsumer<java.lang.String, java.lang.Object>);
    descriptor: (Ljava/lang/Object;Ljava/util/function/BiConsumer;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // java.lang.Object object
        start local 2 // java.util.function.BiConsumer objectConsumer
         0: .line 275
            return
        end local 2 // java.util.function.BiConsumer objectConsumer
        end local 1 // java.lang.Object object
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    1     1          object  TO;
            0    1     2  objectConsumer  Ljava/util/function/BiConsumer<Ljava/lang/String;Ljava/lang/Object;>;
    Signature: (TO;Ljava/util/function/BiConsumer<Ljava/lang/String;Ljava/lang/Object;>;)V
    MethodParameters:
                Name  Flags
      object          
      objectConsumer  

  protected abstract void forEach(O, java.util.function.BiConsumer<java.lang.String, java.lang.Object>);
    descriptor: (Ljava/lang/Object;Ljava/util/function/BiConsumer;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: (TO;Ljava/util/function/BiConsumer<Ljava/lang/String;Ljava/lang/Object;>;)V
    MethodParameters:
                Name  Flags
      object          
      objectConsumer  

  protected A readArray(org.bson.BsonReader, org.bson.codecs.DecoderContext);
    descriptor: (Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonReader reader
        start local 2 // org.bson.codecs.DecoderContext ctx
         0: .line 282
            aload 0 /* this */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.newArray:()Ljava/lang/Object;
            astore 3 /* array */
        start local 3 // java.lang.Object array
         1: .line 284
            aload 1 /* reader */
            invokeinterface org.bson.BsonReader.readStartArray:()V
         2: .line 285
            goto 4
         3: .line 286
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 3 /* array */
            aload 0 /* this */
            aload 1 /* reader */
            aload 2 /* ctx */
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.readValue:(Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.add:(Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 285
      StackMap locals:
      StackMap stack:
            aload 1 /* reader */
            invokeinterface org.bson.BsonReader.readBsonType:()Lorg/bson/BsonType;
            getstatic org.bson.BsonType.END_OF_DOCUMENT:Lorg/bson/BsonType;
            if_acmpne 3
         5: .line 288
            aload 1 /* reader */
            invokeinterface org.bson.BsonReader.readEndArray:()V
         6: .line 290
            aload 3 /* array */
            areturn
        end local 3 // java.lang.Object array
        end local 2 // org.bson.codecs.DecoderContext ctx
        end local 1 // org.bson.BsonReader reader
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    7     1  reader  Lorg/bson/BsonReader;
            0    7     2     ctx  Lorg/bson/codecs/DecoderContext;
            1    7     3   array  TA;
    Signature: (Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)TA;
    MethodParameters:
        Name  Flags
      reader  
      ctx     

  protected void writeArray(org.bson.BsonWriter, java.lang.String, java.lang.Object, org.bson.codecs.EncoderContext);
    descriptor: (Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonWriter writer
        start local 2 // java.lang.String name
        start local 3 // java.lang.Object value
        start local 4 // org.bson.codecs.EncoderContext ctx
         0: .line 295
            aload 3 /* value */
            astore 5 /* array */
        start local 5 // java.lang.Object array
         1: .line 297
            aload 1 /* writer */
            invokeinterface org.bson.BsonWriter.writeStartArray:()V
         2: .line 298
            aload 0 /* this */
            aload 5 /* array */
            aload 0 /* this */
            aload 1 /* writer */
            aload 4 /* ctx */
            invokedynamic accept(Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec;Lorg/bson/BsonWriter;Lorg/bson/codecs/EncoderContext;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec.lambda$2(Lorg/bson/BsonWriter;Lorg/bson/codecs/EncoderContext;Ljava/lang/Object;)V (7)
                  (Ljava/lang/Object;)V
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.forEach:(Ljava/lang/Object;Ljava/util/function/Consumer;)V
         3: .line 299
            aload 1 /* writer */
            invokeinterface org.bson.BsonWriter.writeEndArray:()V
         4: .line 300
            return
        end local 5 // java.lang.Object array
        end local 4 // org.bson.codecs.EncoderContext ctx
        end local 3 // java.lang.Object value
        end local 2 // java.lang.String name
        end local 1 // org.bson.BsonWriter writer
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    5     1  writer  Lorg/bson/BsonWriter;
            0    5     2    name  Ljava/lang/String;
            0    5     3   value  Ljava/lang/Object;
            0    5     4     ctx  Lorg/bson/codecs/EncoderContext;
            1    5     5   array  TA;
    MethodParameters:
        Name  Flags
      writer  
      name    
      value   
      ctx     

  protected abstract A newArray();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: ()TA;

  protected abstract void add(A, );
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: (TA;Ljava/lang/Object;)V
    MethodParameters:
       Name  Flags
      array  
      value  

  protected abstract boolean isArrayInstance(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      instance  

  protected abstract void forEach(A, java.util.function.Consumer<java.lang.Object>);
    descriptor: (Ljava/lang/Object;Ljava/util/function/Consumer;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: (TA;Ljava/util/function/Consumer<Ljava/lang/Object;>;)V
    MethodParameters:
               Name  Flags
      array          
      arrayConsumer  

  protected java.lang.Object readBinary(org.bson.BsonReader, org.bson.codecs.DecoderContext);
    descriptor: (Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonReader reader
        start local 2 // org.bson.codecs.DecoderContext ctx
         0: .line 313
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 2 // org.bson.codecs.DecoderContext ctx
        end local 1 // org.bson.BsonReader reader
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    1     1  reader  Lorg/bson/BsonReader;
            0    1     2     ctx  Lorg/bson/codecs/DecoderContext;
    MethodParameters:
        Name  Flags
      reader  
      ctx     

  protected void writeBinary(org.bson.BsonWriter, java.lang.String, java.lang.Object, org.bson.codecs.EncoderContext);
    descriptor: (Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonWriter writer
        start local 2 // java.lang.String name
        start local 3 // java.lang.Object value
        start local 4 // org.bson.codecs.EncoderContext ctx
         0: .line 317
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 4 // org.bson.codecs.EncoderContext ctx
        end local 3 // java.lang.Object value
        end local 2 // java.lang.String name
        end local 1 // org.bson.BsonWriter writer
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    1     1  writer  Lorg/bson/BsonWriter;
            0    1     2    name  Ljava/lang/String;
            0    1     3   value  Ljava/lang/Object;
            0    1     4     ctx  Lorg/bson/codecs/EncoderContext;
    MethodParameters:
        Name  Flags
      writer  
      name    
      value   
      ctx     

  protected java.lang.Object readDateTime(org.bson.BsonReader, org.bson.codecs.DecoderContext);
    descriptor: (Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonReader reader
        start local 2 // org.bson.codecs.DecoderContext ctx
         0: .line 321
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 2 // org.bson.codecs.DecoderContext ctx
        end local 1 // org.bson.BsonReader reader
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    1     1  reader  Lorg/bson/BsonReader;
            0    1     2     ctx  Lorg/bson/codecs/DecoderContext;
    MethodParameters:
        Name  Flags
      reader  
      ctx     

  protected void writeDateTime(org.bson.BsonWriter, java.lang.String, java.lang.Object, org.bson.codecs.EncoderContext);
    descriptor: (Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonWriter writer
        start local 2 // java.lang.String name
        start local 3 // java.lang.Object value
        start local 4 // org.bson.codecs.EncoderContext ctx
         0: .line 325
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 4 // org.bson.codecs.EncoderContext ctx
        end local 3 // java.lang.Object value
        end local 2 // java.lang.String name
        end local 1 // org.bson.BsonWriter writer
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    1     1  writer  Lorg/bson/BsonWriter;
            0    1     2    name  Ljava/lang/String;
            0    1     3   value  Ljava/lang/Object;
            0    1     4     ctx  Lorg/bson/codecs/EncoderContext;
    MethodParameters:
        Name  Flags
      writer  
      name    
      value   
      ctx     

  protected java.lang.Object readDbPointer(org.bson.BsonReader, org.bson.codecs.DecoderContext);
    descriptor: (Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonReader reader
        start local 2 // org.bson.codecs.DecoderContext ctx
         0: .line 329
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 2 // org.bson.codecs.DecoderContext ctx
        end local 1 // org.bson.BsonReader reader
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    1     1  reader  Lorg/bson/BsonReader;
            0    1     2     ctx  Lorg/bson/codecs/DecoderContext;
    MethodParameters:
        Name  Flags
      reader  
      ctx     

  protected void writeDbPointer(org.bson.BsonWriter, java.lang.String, java.lang.Object, org.bson.codecs.EncoderContext);
    descriptor: (Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonWriter writer
        start local 2 // java.lang.String name
        start local 3 // java.lang.Object value
        start local 4 // org.bson.codecs.EncoderContext ctx
         0: .line 333
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 4 // org.bson.codecs.EncoderContext ctx
        end local 3 // java.lang.Object value
        end local 2 // java.lang.String name
        end local 1 // org.bson.BsonWriter writer
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    1     1  writer  Lorg/bson/BsonWriter;
            0    1     2    name  Ljava/lang/String;
            0    1     3   value  Ljava/lang/Object;
            0    1     4     ctx  Lorg/bson/codecs/EncoderContext;
    MethodParameters:
        Name  Flags
      writer  
      name    
      value   
      ctx     

  protected java.lang.Object readMaxKey(org.bson.BsonReader, org.bson.codecs.DecoderContext);
    descriptor: (Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonReader reader
        start local 2 // org.bson.codecs.DecoderContext ctx
         0: .line 337
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 2 // org.bson.codecs.DecoderContext ctx
        end local 1 // org.bson.BsonReader reader
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    1     1  reader  Lorg/bson/BsonReader;
            0    1     2     ctx  Lorg/bson/codecs/DecoderContext;
    MethodParameters:
        Name  Flags
      reader  
      ctx     

  protected void writeMaxKey(org.bson.BsonWriter, java.lang.String, java.lang.Object, org.bson.codecs.EncoderContext);
    descriptor: (Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonWriter writer
        start local 2 // java.lang.String name
        start local 3 // java.lang.Object value
        start local 4 // org.bson.codecs.EncoderContext ctx
         0: .line 341
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 4 // org.bson.codecs.EncoderContext ctx
        end local 3 // java.lang.Object value
        end local 2 // java.lang.String name
        end local 1 // org.bson.BsonWriter writer
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    1     1  writer  Lorg/bson/BsonWriter;
            0    1     2    name  Ljava/lang/String;
            0    1     3   value  Ljava/lang/Object;
            0    1     4     ctx  Lorg/bson/codecs/EncoderContext;
    MethodParameters:
        Name  Flags
      writer  
      name    
      value   
      ctx     

  protected java.lang.Object readMinKey(org.bson.BsonReader, org.bson.codecs.DecoderContext);
    descriptor: (Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonReader reader
        start local 2 // org.bson.codecs.DecoderContext ctx
         0: .line 345
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 2 // org.bson.codecs.DecoderContext ctx
        end local 1 // org.bson.BsonReader reader
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    1     1  reader  Lorg/bson/BsonReader;
            0    1     2     ctx  Lorg/bson/codecs/DecoderContext;
    MethodParameters:
        Name  Flags
      reader  
      ctx     

  protected void writeMinKey(org.bson.BsonWriter, java.lang.String, java.lang.Object, org.bson.codecs.EncoderContext);
    descriptor: (Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonWriter writer
        start local 2 // java.lang.String name
        start local 3 // java.lang.Object value
        start local 4 // org.bson.codecs.EncoderContext ctx
         0: .line 349
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 4 // org.bson.codecs.EncoderContext ctx
        end local 3 // java.lang.Object value
        end local 2 // java.lang.String name
        end local 1 // org.bson.BsonWriter writer
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    1     1  writer  Lorg/bson/BsonWriter;
            0    1     2    name  Ljava/lang/String;
            0    1     3   value  Ljava/lang/Object;
            0    1     4     ctx  Lorg/bson/codecs/EncoderContext;
    MethodParameters:
        Name  Flags
      writer  
      name    
      value   
      ctx     

  protected java.lang.Object readJavaScript(org.bson.BsonReader, org.bson.codecs.DecoderContext);
    descriptor: (Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonReader reader
        start local 2 // org.bson.codecs.DecoderContext ctx
         0: .line 353
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 2 // org.bson.codecs.DecoderContext ctx
        end local 1 // org.bson.BsonReader reader
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    1     1  reader  Lorg/bson/BsonReader;
            0    1     2     ctx  Lorg/bson/codecs/DecoderContext;
    MethodParameters:
        Name  Flags
      reader  
      ctx     

  protected void writeJavaScript(org.bson.BsonWriter, java.lang.String, java.lang.Object, org.bson.codecs.EncoderContext);
    descriptor: (Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonWriter writer
        start local 2 // java.lang.String name
        start local 3 // java.lang.Object value
        start local 4 // org.bson.codecs.EncoderContext ctx
         0: .line 357
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 4 // org.bson.codecs.EncoderContext ctx
        end local 3 // java.lang.Object value
        end local 2 // java.lang.String name
        end local 1 // org.bson.BsonWriter writer
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    1     1  writer  Lorg/bson/BsonWriter;
            0    1     2    name  Ljava/lang/String;
            0    1     3   value  Ljava/lang/Object;
            0    1     4     ctx  Lorg/bson/codecs/EncoderContext;
    MethodParameters:
        Name  Flags
      writer  
      name    
      value   
      ctx     

  protected java.lang.Object readJavaScriptWithScope(org.bson.BsonReader, org.bson.codecs.DecoderContext);
    descriptor: (Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonReader reader
        start local 2 // org.bson.codecs.DecoderContext ctx
         0: .line 361
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 2 // org.bson.codecs.DecoderContext ctx
        end local 1 // org.bson.BsonReader reader
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    1     1  reader  Lorg/bson/BsonReader;
            0    1     2     ctx  Lorg/bson/codecs/DecoderContext;
    MethodParameters:
        Name  Flags
      reader  
      ctx     

  protected void writeJavaScriptWithScope(org.bson.BsonWriter, java.lang.String, java.lang.Object, org.bson.codecs.EncoderContext);
    descriptor: (Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonWriter writer
        start local 2 // java.lang.String name
        start local 3 // java.lang.Object value
        start local 4 // org.bson.codecs.EncoderContext ctx
         0: .line 365
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 4 // org.bson.codecs.EncoderContext ctx
        end local 3 // java.lang.Object value
        end local 2 // java.lang.String name
        end local 1 // org.bson.BsonWriter writer
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    1     1  writer  Lorg/bson/BsonWriter;
            0    1     2    name  Ljava/lang/String;
            0    1     3   value  Ljava/lang/Object;
            0    1     4     ctx  Lorg/bson/codecs/EncoderContext;
    MethodParameters:
        Name  Flags
      writer  
      name    
      value   
      ctx     

  protected java.lang.Object readObjectId(org.bson.BsonReader, org.bson.codecs.DecoderContext);
    descriptor: (Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonReader reader
        start local 2 // org.bson.codecs.DecoderContext ctx
         0: .line 369
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 2 // org.bson.codecs.DecoderContext ctx
        end local 1 // org.bson.BsonReader reader
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    1     1  reader  Lorg/bson/BsonReader;
            0    1     2     ctx  Lorg/bson/codecs/DecoderContext;
    MethodParameters:
        Name  Flags
      reader  
      ctx     

  protected void writeObjectId(org.bson.BsonWriter, java.lang.String, java.lang.Object, org.bson.codecs.EncoderContext);
    descriptor: (Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonWriter writer
        start local 2 // java.lang.String name
        start local 3 // java.lang.Object value
        start local 4 // org.bson.codecs.EncoderContext ctx
         0: .line 373
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 4 // org.bson.codecs.EncoderContext ctx
        end local 3 // java.lang.Object value
        end local 2 // java.lang.String name
        end local 1 // org.bson.BsonWriter writer
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    1     1  writer  Lorg/bson/BsonWriter;
            0    1     2    name  Ljava/lang/String;
            0    1     3   value  Ljava/lang/Object;
            0    1     4     ctx  Lorg/bson/codecs/EncoderContext;
    MethodParameters:
        Name  Flags
      writer  
      name    
      value   
      ctx     

  protected java.lang.Object readRegularExpression(org.bson.BsonReader, org.bson.codecs.DecoderContext);
    descriptor: (Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonReader reader
        start local 2 // org.bson.codecs.DecoderContext ctx
         0: .line 377
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 2 // org.bson.codecs.DecoderContext ctx
        end local 1 // org.bson.BsonReader reader
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    1     1  reader  Lorg/bson/BsonReader;
            0    1     2     ctx  Lorg/bson/codecs/DecoderContext;
    MethodParameters:
        Name  Flags
      reader  
      ctx     

  protected void writeRegularExpression(org.bson.BsonWriter, java.lang.String, java.lang.Object, org.bson.codecs.EncoderContext);
    descriptor: (Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonWriter writer
        start local 2 // java.lang.String name
        start local 3 // java.lang.Object value
        start local 4 // org.bson.codecs.EncoderContext ctx
         0: .line 381
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 4 // org.bson.codecs.EncoderContext ctx
        end local 3 // java.lang.Object value
        end local 2 // java.lang.String name
        end local 1 // org.bson.BsonWriter writer
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    1     1  writer  Lorg/bson/BsonWriter;
            0    1     2    name  Ljava/lang/String;
            0    1     3   value  Ljava/lang/Object;
            0    1     4     ctx  Lorg/bson/codecs/EncoderContext;
    MethodParameters:
        Name  Flags
      writer  
      name    
      value   
      ctx     

  protected java.lang.Object readSymbol(org.bson.BsonReader, org.bson.codecs.DecoderContext);
    descriptor: (Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonReader reader
        start local 2 // org.bson.codecs.DecoderContext ctx
         0: .line 385
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 2 // org.bson.codecs.DecoderContext ctx
        end local 1 // org.bson.BsonReader reader
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    1     1  reader  Lorg/bson/BsonReader;
            0    1     2     ctx  Lorg/bson/codecs/DecoderContext;
    MethodParameters:
        Name  Flags
      reader  
      ctx     

  protected void writeSymbol(org.bson.BsonWriter, java.lang.String, java.lang.Object, org.bson.codecs.EncoderContext);
    descriptor: (Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonWriter writer
        start local 2 // java.lang.String name
        start local 3 // java.lang.Object value
        start local 4 // org.bson.codecs.EncoderContext ctx
         0: .line 389
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 4 // org.bson.codecs.EncoderContext ctx
        end local 3 // java.lang.Object value
        end local 2 // java.lang.String name
        end local 1 // org.bson.BsonWriter writer
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    1     1  writer  Lorg/bson/BsonWriter;
            0    1     2    name  Ljava/lang/String;
            0    1     3   value  Ljava/lang/Object;
            0    1     4     ctx  Lorg/bson/codecs/EncoderContext;
    MethodParameters:
        Name  Flags
      writer  
      name    
      value   
      ctx     

  protected java.lang.Object readTimeStamp(org.bson.BsonReader, org.bson.codecs.DecoderContext);
    descriptor: (Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonReader reader
        start local 2 // org.bson.codecs.DecoderContext ctx
         0: .line 393
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 2 // org.bson.codecs.DecoderContext ctx
        end local 1 // org.bson.BsonReader reader
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    1     1  reader  Lorg/bson/BsonReader;
            0    1     2     ctx  Lorg/bson/codecs/DecoderContext;
    MethodParameters:
        Name  Flags
      reader  
      ctx     

  protected void writeTimeStamp(org.bson.BsonWriter, java.lang.String, java.lang.Object, org.bson.codecs.EncoderContext);
    descriptor: (Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonWriter writer
        start local 2 // java.lang.String name
        start local 3 // java.lang.Object value
        start local 4 // org.bson.codecs.EncoderContext ctx
         0: .line 397
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 4 // org.bson.codecs.EncoderContext ctx
        end local 3 // java.lang.Object value
        end local 2 // java.lang.String name
        end local 1 // org.bson.BsonWriter writer
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    1     1  writer  Lorg/bson/BsonWriter;
            0    1     2    name  Ljava/lang/String;
            0    1     3   value  Ljava/lang/Object;
            0    1     4     ctx  Lorg/bson/codecs/EncoderContext;
    MethodParameters:
        Name  Flags
      writer  
      name    
      value   
      ctx     

  protected java.lang.Object readUndefined(org.bson.BsonReader, org.bson.codecs.DecoderContext);
    descriptor: (Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonReader reader
        start local 2 // org.bson.codecs.DecoderContext ctx
         0: .line 401
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 2 // org.bson.codecs.DecoderContext ctx
        end local 1 // org.bson.BsonReader reader
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    1     1  reader  Lorg/bson/BsonReader;
            0    1     2     ctx  Lorg/bson/codecs/DecoderContext;
    MethodParameters:
        Name  Flags
      reader  
      ctx     

  protected void writeUndefined(org.bson.BsonWriter, java.lang.String, java.lang.Object, org.bson.codecs.EncoderContext);
    descriptor: (Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 1 // org.bson.BsonWriter writer
        start local 2 // java.lang.String name
        start local 3 // java.lang.Object value
        start local 4 // org.bson.codecs.EncoderContext ctx
         0: .line 405
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 4 // org.bson.codecs.EncoderContext ctx
        end local 3 // java.lang.Object value
        end local 2 // java.lang.String name
        end local 1 // org.bson.BsonWriter writer
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    1     1  writer  Lorg/bson/BsonWriter;
            0    1     2    name  Ljava/lang/String;
            0    1     3   value  Ljava/lang/Object;
            0    1     4     ctx  Lorg/bson/codecs/EncoderContext;
    MethodParameters:
        Name  Flags
      writer  
      name    
      value   
      ctx     

  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 19
            getstatic io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.$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 io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.$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

  private void lambda$0(java.util.Set, org.bson.BsonWriter, org.bson.codecs.EncoderContext, java.lang.String, java.lang.Object);
    descriptor: (Ljava/util/Set;Lorg/bson/BsonWriter;Lorg/bson/codecs/EncoderContext;Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 4 // java.lang.String k
        start local 5 // java.lang.Object v
         0: .line 252
            aload 1
            aload 4 /* k */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         1: .line 253
            aload 2
            aload 4 /* k */
            invokeinterface org.bson.BsonWriter.writeName:(Ljava/lang/String;)V
         2: .line 254
            aload 0 /* this */
            aload 2
            aload 4 /* k */
            aload 5 /* v */
            aload 3
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.writeValue:(Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
         3: .line 255
            return
        end local 5 // java.lang.Object v
        end local 4 // java.lang.String k
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    4     4     k  Ljava/lang/String;
            0    4     5     v  Ljava/lang/Object;

  private void lambda$1(java.util.Set, org.bson.BsonWriter, org.bson.codecs.EncoderContext, java.lang.String, java.lang.Object);
    descriptor: (Ljava/util/Set;Lorg/bson/BsonWriter;Lorg/bson/codecs/EncoderContext;Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 4 // java.lang.String k
        start local 5 // java.lang.Object v
         0: .line 259
            aload 1
            aload 4 /* k */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 3
         1: .line 260
            aload 2
            aload 4 /* k */
            invokeinterface org.bson.BsonWriter.writeName:(Ljava/lang/String;)V
         2: .line 261
            aload 0 /* this */
            aload 2
            aload 4 /* k */
            aload 5 /* v */
            aload 3
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.writeValue:(Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
         3: .line 263
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.lang.Object v
        end local 4 // java.lang.String k
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    4     4     k  Ljava/lang/String;
            0    4     5     v  Ljava/lang/Object;

  private void lambda$2(org.bson.BsonWriter, org.bson.codecs.EncoderContext, java.lang.Object);
    descriptor: (Lorg/bson/BsonWriter;Lorg/bson/codecs/EncoderContext;Ljava/lang/Object;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
        start local 3 // java.lang.Object o
         0: .line 298
            aload 0 /* this */
            aload 1
            aconst_null
            aload 3 /* o */
            aload 2
            invokevirtual io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec.writeValue:(Lorg/bson/BsonWriter;Ljava/lang/String;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
            return
        end local 3 // java.lang.Object o
        end local 0 // io.vertx.ext.mongo.impl.codec.json.AbstractJsonCodec this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/mongo/impl/codec/json/AbstractJsonCodec<TO;TA;>;
            0    1     3     o  Ljava/lang/Object;
}
Signature: <O:Ljava/lang/Object;A:Ljava/lang/Object;>Ljava/lang/Object;Lorg/bson/codecs/Codec<TO;>;
SourceFile: "AbstractJsonCodec.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles