public class org.mongodb.morphia.query.DefaultQueryFactory extends org.mongodb.morphia.query.AbstractQueryFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.mongodb.morphia.query.DefaultQueryFactory
  super_class: org.mongodb.morphia.query.AbstractQueryFactory
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.mongodb.morphia.query.DefaultQueryFactory this
         0: .line 10
            aload 0 /* this */
            invokespecial org.mongodb.morphia.query.AbstractQueryFactory.<init>:()V
            return
        end local 0 // org.mongodb.morphia.query.DefaultQueryFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/mongodb/morphia/query/DefaultQueryFactory;

  public <T> org.mongodb.morphia.query.Query<T> createQuery(org.mongodb.morphia.Datastore, com.mongodb.DBCollection, java.lang.Class<T>, com.mongodb.DBObject);
    descriptor: (Lorg/mongodb/morphia/Datastore;Lcom/mongodb/DBCollection;Ljava/lang/Class;Lcom/mongodb/DBObject;)Lorg/mongodb/morphia/query/Query;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // org.mongodb.morphia.query.DefaultQueryFactory this
        start local 1 // org.mongodb.morphia.Datastore datastore
        start local 2 // com.mongodb.DBCollection collection
        start local 3 // java.lang.Class type
        start local 4 // com.mongodb.DBObject query
         0: .line 15
            new org.mongodb.morphia.query.QueryImpl
            dup
            aload 3 /* type */
            aload 2 /* collection */
            aload 1 /* datastore */
            invokespecial org.mongodb.morphia.query.QueryImpl.<init>:(Ljava/lang/Class;Lcom/mongodb/DBCollection;Lorg/mongodb/morphia/Datastore;)V
            astore 5 /* item */
        start local 5 // org.mongodb.morphia.query.QueryImpl item
         1: .line 17
            aload 4 /* query */
            ifnull 3
         2: .line 18
            aload 5 /* item */
            aload 4 /* query */
            invokevirtual org.mongodb.morphia.query.QueryImpl.setQueryObject:(Lcom/mongodb/DBObject;)V
         3: .line 21
      StackMap locals: org.mongodb.morphia.query.QueryImpl
      StackMap stack:
            aload 5 /* item */
            areturn
        end local 5 // org.mongodb.morphia.query.QueryImpl item
        end local 4 // com.mongodb.DBObject query
        end local 3 // java.lang.Class type
        end local 2 // com.mongodb.DBCollection collection
        end local 1 // org.mongodb.morphia.Datastore datastore
        end local 0 // org.mongodb.morphia.query.DefaultQueryFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/mongodb/morphia/query/DefaultQueryFactory;
            0    4     1   datastore  Lorg/mongodb/morphia/Datastore;
            0    4     2  collection  Lcom/mongodb/DBCollection;
            0    4     3        type  Ljava/lang/Class<TT;>;
            0    4     4       query  Lcom/mongodb/DBObject;
            1    4     5        item  Lorg/mongodb/morphia/query/QueryImpl<TT;>;
    Signature: <T:Ljava/lang/Object;>(Lorg/mongodb/morphia/Datastore;Lcom/mongodb/DBCollection;Ljava/lang/Class<TT;>;Lcom/mongodb/DBObject;)Lorg/mongodb/morphia/query/Query<TT;>;
    MethodParameters:
            Name  Flags
      datastore   final
      collection  final
      type        final
      query       final
}
SourceFile: "DefaultQueryFactory.java"