class com.mongodb.DBEncoderAdapter implements org.bson.codecs.Encoder<com.mongodb.DBObject>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.mongodb.DBEncoderAdapter
  super_class: java.lang.Object
{
  private final com.mongodb.DBEncoder encoder;
    descriptor: Lcom/mongodb/DBEncoder;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  void <init>(com.mongodb.DBEncoder);
    descriptor: (Lcom/mongodb/DBEncoder;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.mongodb.DBEncoderAdapter this
        start local 1 // com.mongodb.DBEncoder encoder
         0: .line 34
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 35
            aload 0 /* this */
            ldc "encoder"
            aload 1 /* encoder */
            invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.mongodb.DBEncoder
            putfield com.mongodb.DBEncoderAdapter.encoder:Lcom/mongodb/DBEncoder;
         2: .line 36
            return
        end local 1 // com.mongodb.DBEncoder encoder
        end local 0 // com.mongodb.DBEncoderAdapter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lcom/mongodb/DBEncoderAdapter;
            0    3     1  encoder  Lcom/mongodb/DBEncoder;
    MethodParameters:
         Name  Flags
      encoder  final

  public void encode(org.bson.BsonWriter, com.mongodb.DBObject, org.bson.codecs.EncoderContext);
    descriptor: (Lorg/bson/BsonWriter;Lcom/mongodb/DBObject;Lorg/bson/codecs/EncoderContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=4
        start local 0 // com.mongodb.DBEncoderAdapter this
        start local 1 // org.bson.BsonWriter writer
        start local 2 // com.mongodb.DBObject document
        start local 3 // org.bson.codecs.EncoderContext encoderContext
         0: .line 42
            new org.bson.io.BasicOutputBuffer
            dup
            invokespecial org.bson.io.BasicOutputBuffer.<init>:()V
            astore 4 /* buffer */
        start local 4 // org.bson.io.BasicOutputBuffer buffer
         1: .line 44
            aload 0 /* this */
            getfield com.mongodb.DBEncoderAdapter.encoder:Lcom/mongodb/DBEncoder;
            aload 4 /* buffer */
            aload 2 /* document */
            invokeinterface com.mongodb.DBEncoder.writeObject:(Lorg/bson/io/OutputBuffer;Lorg/bson/BSONObject;)I
            pop
         2: .line 45
            new org.bson.BsonBinaryReader
            dup
            new org.bson.io.ByteBufferBsonInput
            dup
            new org.bson.ByteBufNIO
            dup
            aload 4 /* buffer */
            invokevirtual org.bson.io.BasicOutputBuffer.toByteArray:()[B
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            invokespecial org.bson.ByteBufNIO.<init>:(Ljava/nio/ByteBuffer;)V
            invokespecial org.bson.io.ByteBufferBsonInput.<init>:(Lorg/bson/ByteBuf;)V
            invokespecial org.bson.BsonBinaryReader.<init>:(Lorg/bson/io/BsonInput;)V
            astore 5 /* reader */
        start local 5 // org.bson.BsonBinaryReader reader
         3: .line 47
            aload 1 /* writer */
            aload 5 /* reader */
            invokeinterface org.bson.BsonWriter.pipe:(Lorg/bson/BsonReader;)V
         4: .line 48
            goto 8
      StackMap locals: com.mongodb.DBEncoderAdapter org.bson.BsonWriter com.mongodb.DBObject org.bson.codecs.EncoderContext org.bson.io.BasicOutputBuffer org.bson.BsonBinaryReader
      StackMap stack: java.lang.Throwable
         5: astore 6
         6: .line 49
            aload 5 /* reader */
            invokevirtual org.bson.BsonBinaryReader.close:()V
         7: .line 50
            aload 6
            athrow
         8: .line 49
      StackMap locals:
      StackMap stack:
            aload 5 /* reader */
            invokevirtual org.bson.BsonBinaryReader.close:()V
        end local 5 // org.bson.BsonBinaryReader reader
         9: .line 51
            goto 13
      StackMap locals: com.mongodb.DBEncoderAdapter org.bson.BsonWriter com.mongodb.DBObject org.bson.codecs.EncoderContext org.bson.io.BasicOutputBuffer
      StackMap stack: java.lang.Throwable
        10: astore 7
        11: .line 52
            aload 4 /* buffer */
            invokevirtual org.bson.io.BasicOutputBuffer.close:()V
        12: .line 53
            aload 7
            athrow
        13: .line 52
      StackMap locals:
      StackMap stack:
            aload 4 /* buffer */
            invokevirtual org.bson.io.BasicOutputBuffer.close:()V
        14: .line 54
            return
        end local 4 // org.bson.io.BasicOutputBuffer buffer
        end local 3 // org.bson.codecs.EncoderContext encoderContext
        end local 2 // com.mongodb.DBObject document
        end local 1 // org.bson.BsonWriter writer
        end local 0 // com.mongodb.DBEncoderAdapter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   15     0            this  Lcom/mongodb/DBEncoderAdapter;
            0   15     1          writer  Lorg/bson/BsonWriter;
            0   15     2        document  Lcom/mongodb/DBObject;
            0   15     3  encoderContext  Lorg/bson/codecs/EncoderContext;
            1   15     4          buffer  Lorg/bson/io/BasicOutputBuffer;
            3    9     5          reader  Lorg/bson/BsonBinaryReader;
      Exception table:
        from    to  target  type
           3     5       5  any
           1    10      10  any
    MethodParameters:
                Name  Flags
      writer          final
      document        final
      encoderContext  final

  public java.lang.Class<com.mongodb.DBObject> getEncoderClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.DBEncoderAdapter this
         0: .line 58
            ldc Lcom/mongodb/DBObject;
            areturn
        end local 0 // com.mongodb.DBEncoderAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/DBEncoderAdapter;
    Signature: ()Ljava/lang/Class<Lcom/mongodb/DBObject;>;

  public void encode(org.bson.BsonWriter, java.lang.Object, org.bson.codecs.EncoderContext);
    descriptor: (Lorg/bson/BsonWriter;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast com.mongodb.DBObject
            aload 3
            invokevirtual com.mongodb.DBEncoderAdapter.encode:(Lorg/bson/BsonWriter;Lcom/mongodb/DBObject;Lorg/bson/codecs/EncoderContext;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Object;Lorg/bson/codecs/Encoder<Lcom/mongodb/DBObject;>;
SourceFile: "DBEncoderAdapter.java"