public class org.bson.BsonBinaryReader$Mark extends org.bson.AbstractBsonReader$Mark
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.bson.BsonBinaryReader$Mark
  super_class: org.bson.AbstractBsonReader$Mark
{
  private final int startPosition;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int size;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.bson.io.BsonInputMark bsonInputMark;
    descriptor: Lorg/bson/io/BsonInputMark;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  protected void <init>(org.bson.BsonBinaryReader);
    descriptor: (Lorg/bson/BsonBinaryReader;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.bson.BsonBinaryReader$Mark this
         0: .line 422
            aload 0 /* this */
            aload 1
            putfield org.bson.BsonBinaryReader$Mark.this$0:Lorg/bson/BsonBinaryReader;
         1: .line 423
            aload 0 /* this */
            aload 1
            invokespecial org.bson.AbstractBsonReader$Mark.<init>:(Lorg/bson/AbstractBsonReader;)V
         2: .line 424
            aload 0 /* this */
            aload 1
            invokevirtual org.bson.BsonBinaryReader.getContext:()Lorg/bson/BsonBinaryReader$Context;
            getfield org.bson.BsonBinaryReader$Context.startPosition:I
            putfield org.bson.BsonBinaryReader$Mark.startPosition:I
         3: .line 425
            aload 0 /* this */
            aload 1
            invokevirtual org.bson.BsonBinaryReader.getContext:()Lorg/bson/BsonBinaryReader$Context;
            getfield org.bson.BsonBinaryReader$Context.size:I
            putfield org.bson.BsonBinaryReader$Mark.size:I
         4: .line 426
            aload 0 /* this */
            aload 1
            getfield org.bson.BsonBinaryReader.bsonInput:Lorg/bson/io/BsonInput;
            ldc 2147483647
            invokeinterface org.bson.io.BsonInput.getMark:(I)Lorg/bson/io/BsonInputMark;
            putfield org.bson.BsonBinaryReader$Mark.bsonInputMark:Lorg/bson/io/BsonInputMark;
         5: .line 427
            return
        end local 0 // org.bson.BsonBinaryReader$Mark this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/bson/BsonBinaryReader$Mark;
    MethodParameters:
        Name  Flags
      this$0  final

  public void reset();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=1, args_size=1
        start local 0 // org.bson.BsonBinaryReader$Mark this
         0: .line 430
            aload 0 /* this */
            invokespecial org.bson.AbstractBsonReader$Mark.reset:()V
         1: .line 431
            aload 0 /* this */
            getfield org.bson.BsonBinaryReader$Mark.bsonInputMark:Lorg/bson/io/BsonInputMark;
            invokeinterface org.bson.io.BsonInputMark.reset:()V
         2: .line 432
            aload 0 /* this */
            getfield org.bson.BsonBinaryReader$Mark.this$0:Lorg/bson/BsonBinaryReader;
            new org.bson.BsonBinaryReader$Context
            dup
            aload 0 /* this */
            getfield org.bson.BsonBinaryReader$Mark.this$0:Lorg/bson/BsonBinaryReader;
            aload 0 /* this */
            invokevirtual org.bson.BsonBinaryReader$Mark.getParentContext:()Lorg/bson/AbstractBsonReader$Context;
            checkcast org.bson.BsonBinaryReader$Context
            aload 0 /* this */
            invokevirtual org.bson.BsonBinaryReader$Mark.getContextType:()Lorg/bson/BsonContextType;
            aload 0 /* this */
            getfield org.bson.BsonBinaryReader$Mark.startPosition:I
            aload 0 /* this */
            getfield org.bson.BsonBinaryReader$Mark.size:I
            invokespecial org.bson.BsonBinaryReader$Context.<init>:(Lorg/bson/BsonBinaryReader;Lorg/bson/BsonBinaryReader$Context;Lorg/bson/BsonContextType;II)V
            invokevirtual org.bson.BsonBinaryReader.setContext:(Lorg/bson/AbstractBsonReader$Context;)V
         3: .line 433
            return
        end local 0 // org.bson.BsonBinaryReader$Mark this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/bson/BsonBinaryReader$Mark;
}
SourceFile: "BsonBinaryReader.java"
NestHost: org.bson.BsonBinaryReader
InnerClasses:
  protected abstract Context = org.bson.AbstractBsonReader$Context of org.bson.AbstractBsonReader
  protected Mark = org.bson.AbstractBsonReader$Mark of org.bson.AbstractBsonReader
  protected Context = org.bson.BsonBinaryReader$Context of org.bson.BsonBinaryReader
  protected Mark = org.bson.BsonBinaryReader$Mark of org.bson.BsonBinaryReader