public class org.mongodb.morphia.query.MorphiaKeyIterator<T> extends org.mongodb.morphia.query.MorphiaIterator<T, org.mongodb.morphia.Key<T>>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.mongodb.morphia.query.MorphiaKeyIterator
  super_class: org.mongodb.morphia.query.MorphiaIterator
{
  public void <init>(org.mongodb.morphia.Datastore, com.mongodb.DBCursor, org.mongodb.morphia.mapping.Mapper, java.lang.Class<T>, java.lang.String);
    descriptor: (Lorg/mongodb/morphia/Datastore;Lcom/mongodb/DBCursor;Lorg/mongodb/morphia/mapping/Mapper;Ljava/lang/Class;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // org.mongodb.morphia.query.MorphiaKeyIterator this
        start local 1 // org.mongodb.morphia.Datastore datastore
        start local 2 // com.mongodb.DBCursor cursor
        start local 3 // org.mongodb.morphia.mapping.Mapper mapper
        start local 4 // java.lang.Class clazz
        start local 5 // java.lang.String collection
         0: .line 26
            aload 0 /* this */
            aload 1 /* datastore */
            aload 2 /* cursor */
            aload 3 /* mapper */
            aload 4 /* clazz */
            aload 5 /* collection */
            aconst_null
            invokespecial org.mongodb.morphia.query.MorphiaIterator.<init>:(Lorg/mongodb/morphia/Datastore;Ljava/util/Iterator;Lorg/mongodb/morphia/mapping/Mapper;Ljava/lang/Class;Ljava/lang/String;Lorg/mongodb/morphia/mapping/cache/EntityCache;)V
         1: .line 27
            return
        end local 5 // java.lang.String collection
        end local 4 // java.lang.Class clazz
        end local 3 // org.mongodb.morphia.mapping.Mapper mapper
        end local 2 // com.mongodb.DBCursor cursor
        end local 1 // org.mongodb.morphia.Datastore datastore
        end local 0 // org.mongodb.morphia.query.MorphiaKeyIterator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/mongodb/morphia/query/MorphiaKeyIterator<TT;>;
            0    2     1   datastore  Lorg/mongodb/morphia/Datastore;
            0    2     2      cursor  Lcom/mongodb/DBCursor;
            0    2     3      mapper  Lorg/mongodb/morphia/mapping/Mapper;
            0    2     4       clazz  Ljava/lang/Class<TT;>;
            0    2     5  collection  Ljava/lang/String;
    Signature: (Lorg/mongodb/morphia/Datastore;Lcom/mongodb/DBCursor;Lorg/mongodb/morphia/mapping/Mapper;Ljava/lang/Class<TT;>;Ljava/lang/String;)V
    MethodParameters:
            Name  Flags
      datastore   final
      cursor      final
      mapper      final
      clazz       final
      collection  final

  protected org.mongodb.morphia.Key<T> convertItem(com.mongodb.DBObject);
    descriptor: (Lcom/mongodb/DBObject;)Lorg/mongodb/morphia/Key;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.mongodb.morphia.query.MorphiaKeyIterator this
        start local 1 // com.mongodb.DBObject dbObj
         0: .line 32
            aload 1 /* dbObj */
            ldc "_id"
            invokeinterface com.mongodb.DBObject.get:(Ljava/lang/String;)Ljava/lang/Object;
            astore 2 /* id */
        start local 2 // java.lang.Object id
         1: .line 33
            aload 2 /* id */
            instanceof com.mongodb.DBObject
            ifeq 4
         2: .line 34
            aload 0 /* this */
            invokevirtual org.mongodb.morphia.query.MorphiaKeyIterator.getMapper:()Lorg/mongodb/morphia/mapping/Mapper;
            aload 0 /* this */
            invokevirtual org.mongodb.morphia.query.MorphiaKeyIterator.getClazz:()Ljava/lang/Class;
            invokevirtual org.mongodb.morphia.mapping.Mapper.getMappedClass:(Ljava/lang/Object;)Lorg/mongodb/morphia/mapping/MappedClass;
            invokevirtual org.mongodb.morphia.mapping.MappedClass.getMappedIdField:()Lorg/mongodb/morphia/mapping/MappedField;
            invokevirtual org.mongodb.morphia.mapping.MappedField.getType:()Ljava/lang/Class;
            astore 3 /* type */
        start local 3 // java.lang.Class type
         3: .line 35
            aload 0 /* this */
            invokevirtual org.mongodb.morphia.query.MorphiaKeyIterator.getMapper:()Lorg/mongodb/morphia/mapping/Mapper;
            aload 0 /* this */
            invokevirtual org.mongodb.morphia.query.MorphiaKeyIterator.getDatastore:()Lorg/mongodb/morphia/Datastore;
            aload 3 /* type */
            aload 2 /* id */
            checkcast com.mongodb.DBObject
            aload 0 /* this */
            invokevirtual org.mongodb.morphia.query.MorphiaKeyIterator.getMapper:()Lorg/mongodb/morphia/mapping/Mapper;
            invokevirtual org.mongodb.morphia.mapping.Mapper.createEntityCache:()Lorg/mongodb/morphia/mapping/cache/EntityCache;
            invokevirtual org.mongodb.morphia.mapping.Mapper.fromDBObject:(Lorg/mongodb/morphia/Datastore;Ljava/lang/Class;Lcom/mongodb/DBObject;Lorg/mongodb/morphia/mapping/cache/EntityCache;)Ljava/lang/Object;
            astore 2 /* id */
        end local 3 // java.lang.Class type
         4: .line 37
      StackMap locals: java.lang.Object
      StackMap stack:
            new org.mongodb.morphia.Key
            dup
            aload 0 /* this */
            invokevirtual org.mongodb.morphia.query.MorphiaKeyIterator.getClazz:()Ljava/lang/Class;
            aload 0 /* this */
            invokevirtual org.mongodb.morphia.query.MorphiaKeyIterator.getCollection:()Ljava/lang/String;
            aload 2 /* id */
            invokespecial org.mongodb.morphia.Key.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)V
            areturn
        end local 2 // java.lang.Object id
        end local 1 // com.mongodb.DBObject dbObj
        end local 0 // org.mongodb.morphia.query.MorphiaKeyIterator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/mongodb/morphia/query/MorphiaKeyIterator<TT;>;
            0    5     1  dbObj  Lcom/mongodb/DBObject;
            1    5     2     id  Ljava/lang/Object;
            3    4     3   type  Ljava/lang/Class;
    Signature: (Lcom/mongodb/DBObject;)Lorg/mongodb/morphia/Key<TT;>;
    MethodParameters:
       Name  Flags
      dbObj  final

  protected java.lang.Object convertItem(com.mongodb.DBObject);
    descriptor: (Lcom/mongodb/DBObject;)Ljava/lang/Object;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.mongodb.morphia.query.MorphiaKeyIterator.convertItem:(Lcom/mongodb/DBObject;)Lorg/mongodb/morphia/Key;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: <T:Ljava/lang/Object;>Lorg/mongodb/morphia/query/MorphiaIterator<TT;Lorg/mongodb/morphia/Key<TT;>;>;
SourceFile: "MorphiaKeyIterator.java"