public class org.bson.BsonDocumentReader$Context extends org.bson.AbstractBsonReader$Context
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.bson.BsonDocumentReader$Context
  super_class: org.bson.AbstractBsonReader$Context
{
  private org.bson.BsonDocumentReader$BsonDocumentMarkableIterator<java.util.Map$Entry<java.lang.String, org.bson.BsonValue>> documentIterator;
    descriptor: Lorg/bson/BsonDocumentReader$BsonDocumentMarkableIterator;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lorg/bson/BsonDocumentReader$BsonDocumentMarkableIterator<Ljava/util/Map$Entry<Ljava/lang/String;Lorg/bson/BsonValue;>;>;

  private org.bson.BsonDocumentReader$BsonDocumentMarkableIterator<org.bson.BsonValue> arrayIterator;
    descriptor: Lorg/bson/BsonDocumentReader$BsonDocumentMarkableIterator;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lorg/bson/BsonDocumentReader$BsonDocumentMarkableIterator<Lorg/bson/BsonValue;>;

  final org.bson.BsonDocumentReader this$0;
    descriptor: Lorg/bson/BsonDocumentReader;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  protected void <init>(org.bson.BsonDocumentReader, org.bson.BsonDocumentReader$Context, org.bson.BsonContextType, org.bson.BsonArray);
    descriptor: (Lorg/bson/BsonDocumentReader;Lorg/bson/BsonDocumentReader$Context;Lorg/bson/BsonContextType;Lorg/bson/BsonArray;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // org.bson.BsonDocumentReader$Context this
        start local 2 // org.bson.BsonDocumentReader$Context parentContext
        start local 3 // org.bson.BsonContextType contextType
        start local 4 // org.bson.BsonArray array
         0: .line 353
            aload 0 /* this */
            aload 1
            putfield org.bson.BsonDocumentReader$Context.this$0:Lorg/bson/BsonDocumentReader;
         1: .line 354
            aload 0 /* this */
            aload 1
            aload 2 /* parentContext */
            aload 3 /* contextType */
            invokespecial org.bson.AbstractBsonReader$Context.<init>:(Lorg/bson/AbstractBsonReader;Lorg/bson/AbstractBsonReader$Context;Lorg/bson/BsonContextType;)V
         2: .line 355
            aload 0 /* this */
            new org.bson.BsonDocumentReader$BsonDocumentMarkableIterator
            dup
            aload 4 /* array */
            invokevirtual org.bson.BsonArray.iterator:()Ljava/util/Iterator;
            invokespecial org.bson.BsonDocumentReader$BsonDocumentMarkableIterator.<init>:(Ljava/util/Iterator;)V
            putfield org.bson.BsonDocumentReader$Context.arrayIterator:Lorg/bson/BsonDocumentReader$BsonDocumentMarkableIterator;
         3: .line 356
            return
        end local 4 // org.bson.BsonArray array
        end local 3 // org.bson.BsonContextType contextType
        end local 2 // org.bson.BsonDocumentReader$Context parentContext
        end local 0 // org.bson.BsonDocumentReader$Context this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lorg/bson/BsonDocumentReader$Context;
            0    4     2  parentContext  Lorg/bson/BsonDocumentReader$Context;
            0    4     3    contextType  Lorg/bson/BsonContextType;
            0    4     4          array  Lorg/bson/BsonArray;
    MethodParameters:
               Name  Flags
      this$0         final
      parentContext  final
      contextType    final
      array          final

  protected void <init>(org.bson.BsonDocumentReader, org.bson.BsonDocumentReader$Context, org.bson.BsonContextType, org.bson.BsonDocument);
    descriptor: (Lorg/bson/BsonDocumentReader;Lorg/bson/BsonDocumentReader$Context;Lorg/bson/BsonContextType;Lorg/bson/BsonDocument;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // org.bson.BsonDocumentReader$Context this
        start local 2 // org.bson.BsonDocumentReader$Context parentContext
        start local 3 // org.bson.BsonContextType contextType
        start local 4 // org.bson.BsonDocument document
         0: .line 358
            aload 0 /* this */
            aload 1
            putfield org.bson.BsonDocumentReader$Context.this$0:Lorg/bson/BsonDocumentReader;
         1: .line 359
            aload 0 /* this */
            aload 1
            aload 2 /* parentContext */
            aload 3 /* contextType */
            invokespecial org.bson.AbstractBsonReader$Context.<init>:(Lorg/bson/AbstractBsonReader;Lorg/bson/AbstractBsonReader$Context;Lorg/bson/BsonContextType;)V
         2: .line 360
            aload 0 /* this */
            new org.bson.BsonDocumentReader$BsonDocumentMarkableIterator
            dup
            aload 4 /* document */
            invokevirtual org.bson.BsonDocument.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            invokespecial org.bson.BsonDocumentReader$BsonDocumentMarkableIterator.<init>:(Ljava/util/Iterator;)V
            putfield org.bson.BsonDocumentReader$Context.documentIterator:Lorg/bson/BsonDocumentReader$BsonDocumentMarkableIterator;
         3: .line 361
            return
        end local 4 // org.bson.BsonDocument document
        end local 3 // org.bson.BsonContextType contextType
        end local 2 // org.bson.BsonDocumentReader$Context parentContext
        end local 0 // org.bson.BsonDocumentReader$Context this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lorg/bson/BsonDocumentReader$Context;
            0    4     2  parentContext  Lorg/bson/BsonDocumentReader$Context;
            0    4     3    contextType  Lorg/bson/BsonContextType;
            0    4     4       document  Lorg/bson/BsonDocument;
    MethodParameters:
               Name  Flags
      this$0         final
      parentContext  final
      contextType    final
      document       final

  public java.util.Map$Entry<java.lang.String, org.bson.BsonValue> getNextElement();
    descriptor: ()Ljava/util/Map$Entry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bson.BsonDocumentReader$Context this
         0: .line 364
            aload 0 /* this */
            getfield org.bson.BsonDocumentReader$Context.documentIterator:Lorg/bson/BsonDocumentReader$BsonDocumentMarkableIterator;
            invokevirtual org.bson.BsonDocumentReader$BsonDocumentMarkableIterator.hasNext:()Z
            ifeq 2
         1: .line 365
            aload 0 /* this */
            getfield org.bson.BsonDocumentReader$Context.documentIterator:Lorg/bson/BsonDocumentReader$BsonDocumentMarkableIterator;
            invokevirtual org.bson.BsonDocumentReader$BsonDocumentMarkableIterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            areturn
         2: .line 367
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // org.bson.BsonDocumentReader$Context this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bson/BsonDocumentReader$Context;
    Signature: ()Ljava/util/Map$Entry<Ljava/lang/String;Lorg/bson/BsonValue;>;

  protected void mark();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bson.BsonDocumentReader$Context this
         0: .line 371
            aload 0 /* this */
            getfield org.bson.BsonDocumentReader$Context.documentIterator:Lorg/bson/BsonDocumentReader$BsonDocumentMarkableIterator;
            ifnull 3
         1: .line 372
            aload 0 /* this */
            getfield org.bson.BsonDocumentReader$Context.documentIterator:Lorg/bson/BsonDocumentReader$BsonDocumentMarkableIterator;
            invokevirtual org.bson.BsonDocumentReader$BsonDocumentMarkableIterator.mark:()V
         2: .line 373
            goto 4
         3: .line 374
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bson.BsonDocumentReader$Context.arrayIterator:Lorg/bson/BsonDocumentReader$BsonDocumentMarkableIterator;
            invokevirtual org.bson.BsonDocumentReader$BsonDocumentMarkableIterator.mark:()V
         4: .line 377
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.bson.BsonDocumentReader$Context.getParentContext:()Lorg/bson/AbstractBsonReader$Context;
            ifnull 6
         5: .line 378
            aload 0 /* this */
            invokevirtual org.bson.BsonDocumentReader$Context.getParentContext:()Lorg/bson/AbstractBsonReader$Context;
            checkcast org.bson.BsonDocumentReader$Context
            invokevirtual org.bson.BsonDocumentReader$Context.mark:()V
         6: .line 380
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.bson.BsonDocumentReader$Context this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/bson/BsonDocumentReader$Context;

  protected void reset();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bson.BsonDocumentReader$Context this
         0: .line 383
            aload 0 /* this */
            getfield org.bson.BsonDocumentReader$Context.documentIterator:Lorg/bson/BsonDocumentReader$BsonDocumentMarkableIterator;
            ifnull 3
         1: .line 384
            aload 0 /* this */
            getfield org.bson.BsonDocumentReader$Context.documentIterator:Lorg/bson/BsonDocumentReader$BsonDocumentMarkableIterator;
            invokevirtual org.bson.BsonDocumentReader$BsonDocumentMarkableIterator.reset:()V
         2: .line 385
            goto 4
         3: .line 386
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bson.BsonDocumentReader$Context.arrayIterator:Lorg/bson/BsonDocumentReader$BsonDocumentMarkableIterator;
            invokevirtual org.bson.BsonDocumentReader$BsonDocumentMarkableIterator.reset:()V
         4: .line 389
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.bson.BsonDocumentReader$Context.getParentContext:()Lorg/bson/AbstractBsonReader$Context;
            ifnull 6
         5: .line 390
            aload 0 /* this */
            invokevirtual org.bson.BsonDocumentReader$Context.getParentContext:()Lorg/bson/AbstractBsonReader$Context;
            checkcast org.bson.BsonDocumentReader$Context
            invokevirtual org.bson.BsonDocumentReader$Context.reset:()V
         6: .line 392
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.bson.BsonDocumentReader$Context this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/bson/BsonDocumentReader$Context;

  public org.bson.BsonValue getNextValue();
    descriptor: ()Lorg/bson/BsonValue;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bson.BsonDocumentReader$Context this
         0: .line 395
            aload 0 /* this */
            getfield org.bson.BsonDocumentReader$Context.arrayIterator:Lorg/bson/BsonDocumentReader$BsonDocumentMarkableIterator;
            invokevirtual org.bson.BsonDocumentReader$BsonDocumentMarkableIterator.hasNext:()Z
            ifeq 2
         1: .line 396
            aload 0 /* this */
            getfield org.bson.BsonDocumentReader$Context.arrayIterator:Lorg/bson/BsonDocumentReader$BsonDocumentMarkableIterator;
            invokevirtual org.bson.BsonDocumentReader$BsonDocumentMarkableIterator.next:()Ljava/lang/Object;
            checkcast org.bson.BsonValue
            areturn
         2: .line 398
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // org.bson.BsonDocumentReader$Context this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bson/BsonDocumentReader$Context;
}
SourceFile: "BsonDocumentReader.java"
NestHost: org.bson.BsonDocumentReader
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  protected abstract Context = org.bson.AbstractBsonReader$Context of org.bson.AbstractBsonReader
  private BsonDocumentMarkableIterator = org.bson.BsonDocumentReader$BsonDocumentMarkableIterator of org.bson.BsonDocumentReader
  protected Context = org.bson.BsonDocumentReader$Context of org.bson.BsonDocumentReader