public class com.mongodb.gridfs.GridFS
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.mongodb.gridfs.GridFS
  super_class: java.lang.Object
{
  public static final int DEFAULT_CHUNKSIZE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 261120

  public static final long MAX_CHUNKSIZE;
    descriptor: J
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3500000
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public static final java.lang.String DEFAULT_BUCKET;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "fs"

  private final com.mongodb.DB database;
    descriptor: Lcom/mongodb/DB;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String bucketName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.mongodb.DBCollection filesCollection;
    descriptor: Lcom/mongodb/DBCollection;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.mongodb.DBCollection chunksCollection;
    descriptor: Lcom/mongodb/DBCollection;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(com.mongodb.DB);
    descriptor: (Lcom/mongodb/DB;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.mongodb.gridfs.GridFS this
        start local 1 // com.mongodb.DB db
         0: .line 87
            aload 0 /* this */
            aload 1 /* db */
            ldc "fs"
            invokespecial com.mongodb.gridfs.GridFS.<init>:(Lcom/mongodb/DB;Ljava/lang/String;)V
         1: .line 88
            return
        end local 1 // com.mongodb.DB db
        end local 0 // com.mongodb.gridfs.GridFS this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/mongodb/gridfs/GridFS;
            0    2     1    db  Lcom/mongodb/DB;
    MethodParameters:
      Name  Flags
      db    final

  public void <init>(com.mongodb.DB, java.lang.String);
    descriptor: (Lcom/mongodb/DB;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // com.mongodb.gridfs.GridFS this
        start local 1 // com.mongodb.DB db
        start local 2 // java.lang.String bucket
         0: .line 99
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 100
            aload 0 /* this */
            aload 1 /* db */
            putfield com.mongodb.gridfs.GridFS.database:Lcom/mongodb/DB;
         2: .line 101
            aload 0 /* this */
            aload 2 /* bucket */
            putfield com.mongodb.gridfs.GridFS.bucketName:Ljava/lang/String;
         3: .line 103
            aload 0 /* this */
            aload 0 /* this */
            getfield com.mongodb.gridfs.GridFS.database:Lcom/mongodb/DB;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield com.mongodb.gridfs.GridFS.bucketName:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".files"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.mongodb.DB.getCollection:(Ljava/lang/String;)Lcom/mongodb/DBCollection;
            putfield com.mongodb.gridfs.GridFS.filesCollection:Lcom/mongodb/DBCollection;
         4: .line 104
            aload 0 /* this */
            aload 0 /* this */
            getfield com.mongodb.gridfs.GridFS.database:Lcom/mongodb/DB;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield com.mongodb.gridfs.GridFS.bucketName:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".chunks"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.mongodb.DB.getCollection:(Ljava/lang/String;)Lcom/mongodb/DBCollection;
            putfield com.mongodb.gridfs.GridFS.chunksCollection:Lcom/mongodb/DBCollection;
         5: .line 108
            aload 0 /* this */
            getfield com.mongodb.gridfs.GridFS.filesCollection:Lcom/mongodb/DBCollection;
            invokevirtual com.mongodb.DBCollection.count:()J
            ldc 1000
            lcmp
            ifge 7
         6: .line 109
            aload 0 /* this */
            getfield com.mongodb.gridfs.GridFS.filesCollection:Lcom/mongodb/DBCollection;
            new com.mongodb.BasicDBObject
            dup
            ldc "filename"
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokespecial com.mongodb.BasicDBObject.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
            ldc "uploadDate"
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.mongodb.BasicDBObject.append:(Ljava/lang/String;Ljava/lang/Object;)Lcom/mongodb/BasicDBObject;
            invokevirtual com.mongodb.DBCollection.createIndex:(Lcom/mongodb/DBObject;)V
         7: .line 111
      StackMap locals: com.mongodb.gridfs.GridFS com.mongodb.DB java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.gridfs.GridFS.chunksCollection:Lcom/mongodb/DBCollection;
            invokevirtual com.mongodb.DBCollection.count:()J
            ldc 1000
            lcmp
            ifge 13
         8: .line 112
            aload 0 /* this */
            getfield com.mongodb.gridfs.GridFS.chunksCollection:Lcom/mongodb/DBCollection;
            new com.mongodb.BasicDBObject
            dup
            ldc "files_id"
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokespecial com.mongodb.BasicDBObject.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
            ldc "n"
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.mongodb.BasicDBObject.append:(Ljava/lang/String;Ljava/lang/Object;)Lcom/mongodb/BasicDBObject;
         9: .line 113
            new com.mongodb.BasicDBObject
            dup
            ldc "unique"
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokespecial com.mongodb.BasicDBObject.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
        10: .line 112
            invokevirtual com.mongodb.DBCollection.createIndex:(Lcom/mongodb/DBObject;Lcom/mongodb/DBObject;)V
        11: .line 115
            goto 13
      StackMap locals:
      StackMap stack: com.mongodb.MongoException
        12: pop
        13: .line 119
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.gridfs.GridFS.filesCollection:Lcom/mongodb/DBCollection;
            ldc Lcom/mongodb/gridfs/GridFSDBFile;
            invokevirtual com.mongodb.DBCollection.setObjectClass:(Ljava/lang/Class;)V
        14: .line 120
            return
        end local 2 // java.lang.String bucket
        end local 1 // com.mongodb.DB db
        end local 0 // com.mongodb.gridfs.GridFS this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Lcom/mongodb/gridfs/GridFS;
            0   15     1      db  Lcom/mongodb/DB;
            0   15     2  bucket  Ljava/lang/String;
      Exception table:
        from    to  target  type
           5    11      12  Class com.mongodb.MongoException
    MethodParameters:
        Name  Flags
      db      final
      bucket  final

  public com.mongodb.DBCursor getFileList();
    descriptor: ()Lcom/mongodb/DBCursor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.mongodb.gridfs.GridFS this
         0: .line 128
            aload 0 /* this */
            getfield com.mongodb.gridfs.GridFS.filesCollection:Lcom/mongodb/DBCollection;
            invokevirtual com.mongodb.DBCollection.find:()Lcom/mongodb/DBCursor;
            new com.mongodb.BasicDBObject
            dup
            ldc "filename"
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokespecial com.mongodb.BasicDBObject.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
            invokevirtual com.mongodb.DBCursor.sort:(Lcom/mongodb/DBObject;)Lcom/mongodb/DBCursor;
            areturn
        end local 0 // com.mongodb.gridfs.GridFS this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/gridfs/GridFS;

  public com.mongodb.DBCursor getFileList(com.mongodb.DBObject);
    descriptor: (Lcom/mongodb/DBObject;)Lcom/mongodb/DBCursor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.mongodb.gridfs.GridFS this
        start local 1 // com.mongodb.DBObject query
         0: .line 138
            aload 0 /* this */
            getfield com.mongodb.gridfs.GridFS.filesCollection:Lcom/mongodb/DBCollection;
            aload 1 /* query */
            invokevirtual com.mongodb.DBCollection.find:(Lcom/mongodb/DBObject;)Lcom/mongodb/DBCursor;
            new com.mongodb.BasicDBObject
            dup
            ldc "filename"
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokespecial com.mongodb.BasicDBObject.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
            invokevirtual com.mongodb.DBCursor.sort:(Lcom/mongodb/DBObject;)Lcom/mongodb/DBCursor;
            areturn
        end local 1 // com.mongodb.DBObject query
        end local 0 // com.mongodb.gridfs.GridFS this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/mongodb/gridfs/GridFS;
            0    1     1  query  Lcom/mongodb/DBObject;
    MethodParameters:
       Name  Flags
      query  final

  public com.mongodb.DBCursor getFileList(com.mongodb.DBObject, com.mongodb.DBObject);
    descriptor: (Lcom/mongodb/DBObject;Lcom/mongodb/DBObject;)Lcom/mongodb/DBCursor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.mongodb.gridfs.GridFS this
        start local 1 // com.mongodb.DBObject query
        start local 2 // com.mongodb.DBObject sort
         0: .line 149
            aload 0 /* this */
            getfield com.mongodb.gridfs.GridFS.filesCollection:Lcom/mongodb/DBCollection;
            aload 1 /* query */
            invokevirtual com.mongodb.DBCollection.find:(Lcom/mongodb/DBObject;)Lcom/mongodb/DBCursor;
            aload 2 /* sort */
            invokevirtual com.mongodb.DBCursor.sort:(Lcom/mongodb/DBObject;)Lcom/mongodb/DBCursor;
            areturn
        end local 2 // com.mongodb.DBObject sort
        end local 1 // com.mongodb.DBObject query
        end local 0 // com.mongodb.gridfs.GridFS this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/mongodb/gridfs/GridFS;
            0    1     1  query  Lcom/mongodb/DBObject;
            0    1     2   sort  Lcom/mongodb/DBObject;
    MethodParameters:
       Name  Flags
      query  final
      sort   final

  public com.mongodb.gridfs.GridFSDBFile find(org.bson.types.ObjectId);
    descriptor: (Lorg/bson/types/ObjectId;)Lcom/mongodb/gridfs/GridFSDBFile;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mongodb.gridfs.GridFS this
        start local 1 // org.bson.types.ObjectId objectId
         0: .line 160
            aload 0 /* this */
            aload 1 /* objectId */
            invokevirtual com.mongodb.gridfs.GridFS.findOne:(Lorg/bson/types/ObjectId;)Lcom/mongodb/gridfs/GridFSDBFile;
            areturn
        end local 1 // org.bson.types.ObjectId objectId
        end local 0 // com.mongodb.gridfs.GridFS this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/mongodb/gridfs/GridFS;
            0    1     1  objectId  Lorg/bson/types/ObjectId;
    MethodParameters:
          Name  Flags
      objectId  final

  public com.mongodb.gridfs.GridFSDBFile findOne(org.bson.types.ObjectId);
    descriptor: (Lorg/bson/types/ObjectId;)Lcom/mongodb/gridfs/GridFSDBFile;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.mongodb.gridfs.GridFS this
        start local 1 // org.bson.types.ObjectId objectId
         0: .line 171
            aload 0 /* this */
            new com.mongodb.BasicDBObject
            dup
            ldc "_id"
            aload 1 /* objectId */
            invokespecial com.mongodb.BasicDBObject.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
            invokevirtual com.mongodb.gridfs.GridFS.findOne:(Lcom/mongodb/DBObject;)Lcom/mongodb/gridfs/GridFSDBFile;
            areturn
        end local 1 // org.bson.types.ObjectId objectId
        end local 0 // com.mongodb.gridfs.GridFS this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/mongodb/gridfs/GridFS;
            0    1     1  objectId  Lorg/bson/types/ObjectId;
    MethodParameters:
          Name  Flags
      objectId  final

  public com.mongodb.gridfs.GridFSDBFile findOne(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/mongodb/gridfs/GridFSDBFile;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.mongodb.gridfs.GridFS this
        start local 1 // java.lang.String filename
         0: .line 182
            aload 0 /* this */
            new com.mongodb.BasicDBObject
            dup
            ldc "filename"
            aload 1 /* filename */
            invokespecial com.mongodb.BasicDBObject.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
            invokevirtual com.mongodb.gridfs.GridFS.findOne:(Lcom/mongodb/DBObject;)Lcom/mongodb/gridfs/GridFSDBFile;
            areturn
        end local 1 // java.lang.String filename
        end local 0 // com.mongodb.gridfs.GridFS this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/mongodb/gridfs/GridFS;
            0    1     1  filename  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      filename  final

  public com.mongodb.gridfs.GridFSDBFile findOne(com.mongodb.DBObject);
    descriptor: (Lcom/mongodb/DBObject;)Lcom/mongodb/gridfs/GridFSDBFile;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.mongodb.gridfs.GridFS this
        start local 1 // com.mongodb.DBObject query
         0: .line 193
            aload 0 /* this */
            aload 0 /* this */
            getfield com.mongodb.gridfs.GridFS.filesCollection:Lcom/mongodb/DBCollection;
            aload 1 /* query */
            invokevirtual com.mongodb.DBCollection.findOne:(Lcom/mongodb/DBObject;)Lcom/mongodb/DBObject;
            invokevirtual com.mongodb.gridfs.GridFS.injectGridFSInstance:(Ljava/lang/Object;)Lcom/mongodb/gridfs/GridFSDBFile;
            areturn
        end local 1 // com.mongodb.DBObject query
        end local 0 // com.mongodb.gridfs.GridFS this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/mongodb/gridfs/GridFS;
            0    1     1  query  Lcom/mongodb/DBObject;
    MethodParameters:
       Name  Flags
      query  final

  public java.util.List<com.mongodb.gridfs.GridFSDBFile> find(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.mongodb.gridfs.GridFS this
        start local 1 // java.lang.String filename
         0: .line 204
            aload 0 /* this */
            new com.mongodb.BasicDBObject
            dup
            ldc "filename"
            aload 1 /* filename */
            invokespecial com.mongodb.BasicDBObject.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
            invokevirtual com.mongodb.gridfs.GridFS.find:(Lcom/mongodb/DBObject;)Ljava/util/List;
            areturn
        end local 1 // java.lang.String filename
        end local 0 // com.mongodb.gridfs.GridFS this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/mongodb/gridfs/GridFS;
            0    1     1  filename  Ljava/lang/String;
    Signature: (Ljava/lang/String;)Ljava/util/List<Lcom/mongodb/gridfs/GridFSDBFile;>;
    MethodParameters:
          Name  Flags
      filename  final

  public java.util.List<com.mongodb.gridfs.GridFSDBFile> find(java.lang.String, com.mongodb.DBObject);
    descriptor: (Ljava/lang/String;Lcom/mongodb/DBObject;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.mongodb.gridfs.GridFS this
        start local 1 // java.lang.String filename
        start local 2 // com.mongodb.DBObject sort
         0: .line 216
            aload 0 /* this */
            new com.mongodb.BasicDBObject
            dup
            ldc "filename"
            aload 1 /* filename */
            invokespecial com.mongodb.BasicDBObject.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
            aload 2 /* sort */
            invokevirtual com.mongodb.gridfs.GridFS.find:(Lcom/mongodb/DBObject;Lcom/mongodb/DBObject;)Ljava/util/List;
            areturn
        end local 2 // com.mongodb.DBObject sort
        end local 1 // java.lang.String filename
        end local 0 // com.mongodb.gridfs.GridFS this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/mongodb/gridfs/GridFS;
            0    1     1  filename  Ljava/lang/String;
            0    1     2      sort  Lcom/mongodb/DBObject;
    Signature: (Ljava/lang/String;Lcom/mongodb/DBObject;)Ljava/util/List<Lcom/mongodb/gridfs/GridFSDBFile;>;
    MethodParameters:
          Name  Flags
      filename  final
      sort      final

  public java.util.List<com.mongodb.gridfs.GridFSDBFile> find(com.mongodb.DBObject);
    descriptor: (Lcom/mongodb/DBObject;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.mongodb.gridfs.GridFS this
        start local 1 // com.mongodb.DBObject query
         0: .line 227
            aload 0 /* this */
            aload 1 /* query */
            aconst_null
            invokevirtual com.mongodb.gridfs.GridFS.find:(Lcom/mongodb/DBObject;Lcom/mongodb/DBObject;)Ljava/util/List;
            areturn
        end local 1 // com.mongodb.DBObject query
        end local 0 // com.mongodb.gridfs.GridFS this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/mongodb/gridfs/GridFS;
            0    1     1  query  Lcom/mongodb/DBObject;
    Signature: (Lcom/mongodb/DBObject;)Ljava/util/List<Lcom/mongodb/gridfs/GridFSDBFile;>;
    MethodParameters:
       Name  Flags
      query  final

  public java.util.List<com.mongodb.gridfs.GridFSDBFile> find(com.mongodb.DBObject, com.mongodb.DBObject);
    descriptor: (Lcom/mongodb/DBObject;Lcom/mongodb/DBObject;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // com.mongodb.gridfs.GridFS this
        start local 1 // com.mongodb.DBObject query
        start local 2 // com.mongodb.DBObject sort
         0: .line 239
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* files */
        start local 3 // java.util.List files
         1: .line 241
            aload 0 /* this */
            getfield com.mongodb.gridfs.GridFS.filesCollection:Lcom/mongodb/DBCollection;
            aload 1 /* query */
            invokevirtual com.mongodb.DBCollection.find:(Lcom/mongodb/DBObject;)Lcom/mongodb/DBCursor;
            astore 4 /* cursor */
        start local 4 // com.mongodb.DBCursor cursor
         2: .line 242
            aload 2 /* sort */
            ifnull 6
         3: .line 243
            aload 4 /* cursor */
            aload 2 /* sort */
            invokevirtual com.mongodb.DBCursor.sort:(Lcom/mongodb/DBObject;)Lcom/mongodb/DBCursor;
            pop
         4: .line 247
            goto 6
         5: .line 248
      StackMap locals: java.util.List com.mongodb.DBCursor
      StackMap stack:
            aload 3 /* files */
            aload 0 /* this */
            aload 4 /* cursor */
            invokevirtual com.mongodb.DBCursor.next:()Lcom/mongodb/DBObject;
            invokevirtual com.mongodb.gridfs.GridFS.injectGridFSInstance:(Ljava/lang/Object;)Lcom/mongodb/gridfs/GridFSDBFile;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         6: .line 247
      StackMap locals:
      StackMap stack:
            aload 4 /* cursor */
            invokevirtual com.mongodb.DBCursor.hasNext:()Z
            ifne 5
         7: .line 250
            goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 5
         9: .line 251
            aload 4 /* cursor */
            invokevirtual com.mongodb.DBCursor.close:()V
        10: .line 252
            aload 5
            athrow
        11: .line 251
      StackMap locals:
      StackMap stack:
            aload 4 /* cursor */
            invokevirtual com.mongodb.DBCursor.close:()V
        12: .line 253
            aload 3 /* files */
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            areturn
        end local 4 // com.mongodb.DBCursor cursor
        end local 3 // java.util.List files
        end local 2 // com.mongodb.DBObject sort
        end local 1 // com.mongodb.DBObject query
        end local 0 // com.mongodb.gridfs.GridFS this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Lcom/mongodb/gridfs/GridFS;
            0   13     1   query  Lcom/mongodb/DBObject;
            0   13     2    sort  Lcom/mongodb/DBObject;
            1   13     3   files  Ljava/util/List<Lcom/mongodb/gridfs/GridFSDBFile;>;
            2   13     4  cursor  Lcom/mongodb/DBCursor;
      Exception table:
        from    to  target  type
           4     8       8  any
    Signature: (Lcom/mongodb/DBObject;Lcom/mongodb/DBObject;)Ljava/util/List<Lcom/mongodb/gridfs/GridFSDBFile;>;
    MethodParameters:
       Name  Flags
      query  final
      sort   final

  private com.mongodb.gridfs.GridFSDBFile injectGridFSInstance(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lcom/mongodb/gridfs/GridFSDBFile;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.mongodb.gridfs.GridFS this
        start local 1 // java.lang.Object o
         0: .line 257
            aload 1 /* o */
            ifnonnull 2
         1: .line 258
            aconst_null
            areturn
         2: .line 261
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            instanceof com.mongodb.gridfs.GridFSDBFile
            ifne 4
         3: .line 262
            new java.lang.IllegalArgumentException
            dup
            ldc "somehow didn't get a GridFSDBFile"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 265
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast com.mongodb.gridfs.GridFSDBFile
            astore 2 /* f */
        start local 2 // com.mongodb.gridfs.GridFSDBFile f
         5: .line 266
            aload 2 /* f */
            aload 0 /* this */
            putfield com.mongodb.gridfs.GridFSDBFile.fs:Lcom/mongodb/gridfs/GridFS;
         6: .line 267
            aload 2 /* f */
            areturn
        end local 2 // com.mongodb.gridfs.GridFSDBFile f
        end local 1 // java.lang.Object o
        end local 0 // com.mongodb.gridfs.GridFS this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/mongodb/gridfs/GridFS;
            0    7     1     o  Ljava/lang/Object;
            5    7     2     f  Lcom/mongodb/gridfs/GridFSDBFile;
    MethodParameters:
      Name  Flags
      o     final

  public void remove(org.bson.types.ObjectId);
    descriptor: (Lorg/bson/types/ObjectId;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.mongodb.gridfs.GridFS this
        start local 1 // org.bson.types.ObjectId id
         0: .line 277
            aload 1 /* id */
            ifnonnull 2
         1: .line 278
            new java.lang.IllegalArgumentException
            dup
            ldc "file id can not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 281
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.gridfs.GridFS.filesCollection:Lcom/mongodb/DBCollection;
            new com.mongodb.BasicDBObject
            dup
            ldc "_id"
            aload 1 /* id */
            invokespecial com.mongodb.BasicDBObject.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
            invokevirtual com.mongodb.DBCollection.remove:(Lcom/mongodb/DBObject;)Lcom/mongodb/WriteResult;
            pop
         3: .line 282
            aload 0 /* this */
            getfield com.mongodb.gridfs.GridFS.chunksCollection:Lcom/mongodb/DBCollection;
            new com.mongodb.BasicDBObject
            dup
            ldc "files_id"
            aload 1 /* id */
            invokespecial com.mongodb.BasicDBObject.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
            invokevirtual com.mongodb.DBCollection.remove:(Lcom/mongodb/DBObject;)Lcom/mongodb/WriteResult;
            pop
         4: .line 283
            return
        end local 1 // org.bson.types.ObjectId id
        end local 0 // com.mongodb.gridfs.GridFS this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/mongodb/gridfs/GridFS;
            0    5     1    id  Lorg/bson/types/ObjectId;
    MethodParameters:
      Name  Flags
      id    final

  public void remove(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.mongodb.gridfs.GridFS this
        start local 1 // java.lang.String filename
         0: .line 292
            aload 1 /* filename */
            ifnonnull 2
         1: .line 293
            new java.lang.IllegalArgumentException
            dup
            ldc "filename can not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 296
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new com.mongodb.BasicDBObject
            dup
            ldc "filename"
            aload 1 /* filename */
            invokespecial com.mongodb.BasicDBObject.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
            invokevirtual com.mongodb.gridfs.GridFS.remove:(Lcom/mongodb/DBObject;)V
         3: .line 297
            return
        end local 1 // java.lang.String filename
        end local 0 // com.mongodb.gridfs.GridFS this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/mongodb/gridfs/GridFS;
            0    4     1  filename  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      filename  final

  public void remove(com.mongodb.DBObject);
    descriptor: (Lcom/mongodb/DBObject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.mongodb.gridfs.GridFS this
        start local 1 // com.mongodb.DBObject query
         0: .line 306
            aload 1 /* query */
            ifnonnull 2
         1: .line 307
            new java.lang.IllegalArgumentException
            dup
            ldc "query can not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 310
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* query */
            invokevirtual com.mongodb.gridfs.GridFS.find:(Lcom/mongodb/DBObject;)Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: com.mongodb.gridfs.GridFS com.mongodb.DBObject top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.mongodb.gridfs.GridFSDBFile
            astore 2 /* f */
        start local 2 // com.mongodb.gridfs.GridFSDBFile f
         4: .line 311
            aload 2 /* f */
            invokevirtual com.mongodb.gridfs.GridFSDBFile.remove:()V
        end local 2 // com.mongodb.gridfs.GridFSDBFile f
         5: .line 310
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 313
            return
        end local 1 // com.mongodb.DBObject query
        end local 0 // com.mongodb.gridfs.GridFS this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lcom/mongodb/gridfs/GridFS;
            0    7     1  query  Lcom/mongodb/DBObject;
            4    5     2      f  Lcom/mongodb/gridfs/GridFSDBFile;
    MethodParameters:
       Name  Flags
      query  final

  public com.mongodb.gridfs.GridFSInputFile createFile(byte[]);
    descriptor: ([B)Lcom/mongodb/gridfs/GridFSInputFile;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.mongodb.gridfs.GridFS this
        start local 1 // byte[] data
         0: .line 322
            aload 0 /* this */
            new java.io.ByteArrayInputStream
            dup
            aload 1 /* data */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            iconst_1
            invokevirtual com.mongodb.gridfs.GridFS.createFile:(Ljava/io/InputStream;Z)Lcom/mongodb/gridfs/GridFSInputFile;
            areturn
        end local 1 // byte[] data
        end local 0 // com.mongodb.gridfs.GridFS this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/gridfs/GridFS;
            0    1     1  data  [B
    MethodParameters:
      Name  Flags
      data  final

  public com.mongodb.gridfs.GridFSInputFile createFile(java.io.File);
    descriptor: (Ljava/io/File;)Lcom/mongodb/gridfs/GridFSInputFile;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.mongodb.gridfs.GridFS this
        start local 1 // java.io.File file
         0: .line 333
            aload 0 /* this */
            new java.io.FileInputStream
            dup
            aload 1 /* file */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            aload 1 /* file */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            iconst_1
            invokevirtual com.mongodb.gridfs.GridFS.createFile:(Ljava/io/InputStream;Ljava/lang/String;Z)Lcom/mongodb/gridfs/GridFSInputFile;
            areturn
        end local 1 // java.io.File file
        end local 0 // com.mongodb.gridfs.GridFS this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/gridfs/GridFS;
            0    1     1  file  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      file  final

  public com.mongodb.gridfs.GridFSInputFile createFile(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Lcom/mongodb/gridfs/GridFSInputFile;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.mongodb.gridfs.GridFS this
        start local 1 // java.io.InputStream in
         0: .line 343
            aload 0 /* this */
            aload 1 /* in */
            aconst_null
            invokevirtual com.mongodb.gridfs.GridFS.createFile:(Ljava/io/InputStream;Ljava/lang/String;)Lcom/mongodb/gridfs/GridFSInputFile;
            areturn
        end local 1 // java.io.InputStream in
        end local 0 // com.mongodb.gridfs.GridFS this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/gridfs/GridFS;
            0    1     1    in  Ljava/io/InputStream;
    MethodParameters:
      Name  Flags
      in    final

  public com.mongodb.gridfs.GridFSInputFile createFile(java.io.InputStream, boolean);
    descriptor: (Ljava/io/InputStream;Z)Lcom/mongodb/gridfs/GridFSInputFile;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.mongodb.gridfs.GridFS this
        start local 1 // java.io.InputStream in
        start local 2 // boolean closeStreamOnPersist
         0: .line 354
            aload 0 /* this */
            aload 1 /* in */
            aconst_null
            iload 2 /* closeStreamOnPersist */
            invokevirtual com.mongodb.gridfs.GridFS.createFile:(Ljava/io/InputStream;Ljava/lang/String;Z)Lcom/mongodb/gridfs/GridFSInputFile;
            areturn
        end local 2 // boolean closeStreamOnPersist
        end local 1 // java.io.InputStream in
        end local 0 // com.mongodb.gridfs.GridFS this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    1     0                  this  Lcom/mongodb/gridfs/GridFS;
            0    1     1                    in  Ljava/io/InputStream;
            0    1     2  closeStreamOnPersist  Z
    MethodParameters:
                      Name  Flags
      in                    final
      closeStreamOnPersist  final

  public com.mongodb.gridfs.GridFSInputFile createFile(java.io.InputStream, java.lang.String);
    descriptor: (Ljava/io/InputStream;Ljava/lang/String;)Lcom/mongodb/gridfs/GridFSInputFile;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.mongodb.gridfs.GridFS this
        start local 1 // java.io.InputStream in
        start local 2 // java.lang.String filename
         0: .line 365
            new com.mongodb.gridfs.GridFSInputFile
            dup
            aload 0 /* this */
            aload 1 /* in */
            aload 2 /* filename */
            invokespecial com.mongodb.gridfs.GridFSInputFile.<init>:(Lcom/mongodb/gridfs/GridFS;Ljava/io/InputStream;Ljava/lang/String;)V
            areturn
        end local 2 // java.lang.String filename
        end local 1 // java.io.InputStream in
        end local 0 // com.mongodb.gridfs.GridFS this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/mongodb/gridfs/GridFS;
            0    1     1        in  Ljava/io/InputStream;
            0    1     2  filename  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      in        final
      filename  final

  public com.mongodb.gridfs.GridFSInputFile createFile(java.io.InputStream, java.lang.String, boolean);
    descriptor: (Ljava/io/InputStream;Ljava/lang/String;Z)Lcom/mongodb/gridfs/GridFSInputFile;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // com.mongodb.gridfs.GridFS this
        start local 1 // java.io.InputStream in
        start local 2 // java.lang.String filename
        start local 3 // boolean closeStreamOnPersist
         0: .line 377
            new com.mongodb.gridfs.GridFSInputFile
            dup
            aload 0 /* this */
            aload 1 /* in */
            aload 2 /* filename */
            iload 3 /* closeStreamOnPersist */
            invokespecial com.mongodb.gridfs.GridFSInputFile.<init>:(Lcom/mongodb/gridfs/GridFS;Ljava/io/InputStream;Ljava/lang/String;Z)V
            areturn
        end local 3 // boolean closeStreamOnPersist
        end local 2 // java.lang.String filename
        end local 1 // java.io.InputStream in
        end local 0 // com.mongodb.gridfs.GridFS this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    1     0                  this  Lcom/mongodb/gridfs/GridFS;
            0    1     1                    in  Ljava/io/InputStream;
            0    1     2              filename  Ljava/lang/String;
            0    1     3  closeStreamOnPersist  Z
    MethodParameters:
                      Name  Flags
      in                    final
      filename              final
      closeStreamOnPersist  final

  public com.mongodb.gridfs.GridFSInputFile createFile(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/mongodb/gridfs/GridFSInputFile;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.mongodb.gridfs.GridFS this
        start local 1 // java.lang.String filename
         0: .line 388
            new com.mongodb.gridfs.GridFSInputFile
            dup
            aload 0 /* this */
            aload 1 /* filename */
            invokespecial com.mongodb.gridfs.GridFSInputFile.<init>:(Lcom/mongodb/gridfs/GridFS;Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String filename
        end local 0 // com.mongodb.gridfs.GridFS this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/mongodb/gridfs/GridFS;
            0    1     1  filename  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      filename  final

  public com.mongodb.gridfs.GridFSInputFile createFile();
    descriptor: ()Lcom/mongodb/gridfs/GridFSInputFile;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.mongodb.gridfs.GridFS this
         0: .line 400
            new com.mongodb.gridfs.GridFSInputFile
            dup
            aload 0 /* this */
            invokespecial com.mongodb.gridfs.GridFSInputFile.<init>:(Lcom/mongodb/gridfs/GridFS;)V
            areturn
        end local 0 // com.mongodb.gridfs.GridFS this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/gridfs/GridFS;

  public java.lang.String getBucketName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.gridfs.GridFS this
         0: .line 409
            aload 0 /* this */
            getfield com.mongodb.gridfs.GridFS.bucketName:Ljava/lang/String;
            areturn
        end local 0 // com.mongodb.gridfs.GridFS this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/gridfs/GridFS;

  public com.mongodb.DB getDB();
    descriptor: ()Lcom/mongodb/DB;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.gridfs.GridFS this
         0: .line 418
            aload 0 /* this */
            getfield com.mongodb.gridfs.GridFS.database:Lcom/mongodb/DB;
            areturn
        end local 0 // com.mongodb.gridfs.GridFS this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/gridfs/GridFS;

  protected com.mongodb.DBCollection getFilesCollection();
    descriptor: ()Lcom/mongodb/DBCollection;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.gridfs.GridFS this
         0: .line 427
            aload 0 /* this */
            getfield com.mongodb.gridfs.GridFS.filesCollection:Lcom/mongodb/DBCollection;
            areturn
        end local 0 // com.mongodb.gridfs.GridFS this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/gridfs/GridFS;

  protected com.mongodb.DBCollection getChunksCollection();
    descriptor: ()Lcom/mongodb/DBCollection;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.gridfs.GridFS this
         0: .line 436
            aload 0 /* this */
            getfield com.mongodb.gridfs.GridFS.chunksCollection:Lcom/mongodb/DBCollection;
            areturn
        end local 0 // com.mongodb.gridfs.GridFS this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/gridfs/GridFS;
}
SourceFile: "GridFS.java"