public class com.mongodb.DefaultDBDecoder extends org.bson.BasicBSONDecoder implements com.mongodb.DBDecoder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.mongodb.DefaultDBDecoder
  super_class: org.bson.BasicBSONDecoder
{
  public static final com.mongodb.DBDecoderFactory FACTORY;
    descriptor: Lcom/mongodb/DBDecoderFactory;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 53
            new com.mongodb.DefaultDBDecoder$1
            dup
            invokespecial com.mongodb.DefaultDBDecoder$1.<init>:()V
            putstatic com.mongodb.DefaultDBDecoder.FACTORY:Lcom/mongodb/DBDecoderFactory;
         1: .line 58
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.DefaultDBDecoder this
         0: .line 27
            aload 0 /* this */
            invokespecial org.bson.BasicBSONDecoder.<init>:()V
            return
        end local 0 // com.mongodb.DefaultDBDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/DefaultDBDecoder;

  public com.mongodb.DBCallback getDBCallback(com.mongodb.DBCollection);
    descriptor: (Lcom/mongodb/DBCollection;)Lcom/mongodb/DBCallback;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.mongodb.DefaultDBDecoder this
        start local 1 // com.mongodb.DBCollection collection
         0: .line 31
            new com.mongodb.DefaultDBCallback
            dup
            aload 1 /* collection */
            invokespecial com.mongodb.DefaultDBCallback.<init>:(Lcom/mongodb/DBCollection;)V
            areturn
        end local 1 // com.mongodb.DBCollection collection
        end local 0 // com.mongodb.DefaultDBDecoder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/mongodb/DefaultDBDecoder;
            0    1     1  collection  Lcom/mongodb/DBCollection;
    MethodParameters:
            Name  Flags
      collection  final

  public com.mongodb.DBObject decode(java.io.InputStream, com.mongodb.DBCollection);
    descriptor: (Ljava/io/InputStream;Lcom/mongodb/DBCollection;)Lcom/mongodb/DBObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.mongodb.DefaultDBDecoder this
        start local 1 // java.io.InputStream input
        start local 2 // com.mongodb.DBCollection collection
         0: .line 36
            aload 0 /* this */
            aload 2 /* collection */
            invokevirtual com.mongodb.DefaultDBDecoder.getDBCallback:(Lcom/mongodb/DBCollection;)Lcom/mongodb/DBCallback;
            astore 3 /* callback */
        start local 3 // com.mongodb.DBCallback callback
         1: .line 37
            aload 0 /* this */
            aload 1 /* input */
            aload 3 /* callback */
            invokevirtual com.mongodb.DefaultDBDecoder.decode:(Ljava/io/InputStream;Lorg/bson/BSONCallback;)I
            pop
         2: .line 38
            aload 3 /* callback */
            invokeinterface com.mongodb.DBCallback.get:()Ljava/lang/Object;
            checkcast com.mongodb.DBObject
            areturn
        end local 3 // com.mongodb.DBCallback callback
        end local 2 // com.mongodb.DBCollection collection
        end local 1 // java.io.InputStream input
        end local 0 // com.mongodb.DefaultDBDecoder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lcom/mongodb/DefaultDBDecoder;
            0    3     1       input  Ljava/io/InputStream;
            0    3     2  collection  Lcom/mongodb/DBCollection;
            1    3     3    callback  Lcom/mongodb/DBCallback;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      input       final
      collection  final

  public com.mongodb.DBObject decode(byte[], com.mongodb.DBCollection);
    descriptor: ([BLcom/mongodb/DBCollection;)Lcom/mongodb/DBObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.mongodb.DefaultDBDecoder this
        start local 1 // byte[] bytes
        start local 2 // com.mongodb.DBCollection collection
         0: .line 43
            aload 0 /* this */
            aload 2 /* collection */
            invokevirtual com.mongodb.DefaultDBDecoder.getDBCallback:(Lcom/mongodb/DBCollection;)Lcom/mongodb/DBCallback;
            astore 3 /* callback */
        start local 3 // com.mongodb.DBCallback callback
         1: .line 44
            aload 0 /* this */
            aload 1 /* bytes */
            aload 3 /* callback */
            invokevirtual com.mongodb.DefaultDBDecoder.decode:([BLorg/bson/BSONCallback;)I
            pop
         2: .line 45
            aload 3 /* callback */
            invokeinterface com.mongodb.DBCallback.get:()Ljava/lang/Object;
            checkcast com.mongodb.DBObject
            areturn
        end local 3 // com.mongodb.DBCallback callback
        end local 2 // com.mongodb.DBCollection collection
        end local 1 // byte[] bytes
        end local 0 // com.mongodb.DefaultDBDecoder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lcom/mongodb/DefaultDBDecoder;
            0    3     1       bytes  [B
            0    3     2  collection  Lcom/mongodb/DBCollection;
            1    3     3    callback  Lcom/mongodb/DBCallback;
    MethodParameters:
            Name  Flags
      bytes       final
      collection  final

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.mongodb.DefaultDBDecoder this
         0: .line 50
            ldc "DBDecoder{class=%s}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 0 // com.mongodb.DefaultDBDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/DefaultDBDecoder;
}
SourceFile: "DefaultDBDecoder.java"
NestMembers:
  com.mongodb.DefaultDBDecoder$1
InnerClasses:
  com.mongodb.DefaultDBDecoder$1