public class org.bson.AbstractBsonWriter$Mark
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.bson.AbstractBsonWriter$Mark
  super_class: java.lang.Object
{
  private final org.bson.AbstractBsonWriter$Context markedContext;
    descriptor: Lorg/bson/AbstractBsonWriter$Context;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.bson.AbstractBsonWriter$State markedState;
    descriptor: Lorg/bson/AbstractBsonWriter$State;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

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

  protected void <init>(org.bson.AbstractBsonWriter);
    descriptor: (Lorg/bson/AbstractBsonWriter;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.AbstractBsonWriter$Mark this
         0: .line 1104
            aload 0 /* this */
            aload 1
            putfield org.bson.AbstractBsonWriter$Mark.this$0:Lorg/bson/AbstractBsonWriter;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1105
            aload 0 /* this */
            aload 1
            getfield org.bson.AbstractBsonWriter.context:Lorg/bson/AbstractBsonWriter$Context;
            invokevirtual org.bson.AbstractBsonWriter$Context.copy:()Lorg/bson/AbstractBsonWriter$Context;
            putfield org.bson.AbstractBsonWriter$Mark.markedContext:Lorg/bson/AbstractBsonWriter$Context;
         2: .line 1106
            aload 0 /* this */
            aload 1
            getfield org.bson.AbstractBsonWriter.state:Lorg/bson/AbstractBsonWriter$State;
            putfield org.bson.AbstractBsonWriter$Mark.markedState:Lorg/bson/AbstractBsonWriter$State;
         3: .line 1107
            aload 0 /* this */
            aload 1
            getfield org.bson.AbstractBsonWriter.context:Lorg/bson/AbstractBsonWriter$Context;
            getfield org.bson.AbstractBsonWriter$Context.name:Ljava/lang/String;
            putfield org.bson.AbstractBsonWriter$Mark.currentName:Ljava/lang/String;
         4: .line 1108
            aload 0 /* this */
            aload 1
            getfield org.bson.AbstractBsonWriter.serializationDepth:I
            putfield org.bson.AbstractBsonWriter$Mark.serializationDepth:I
         5: .line 1109
            return
        end local 0 // org.bson.AbstractBsonWriter$Mark this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/bson/AbstractBsonWriter$Mark;
    MethodParameters:
        Name  Flags
      this$0  final

  protected void reset();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bson.AbstractBsonWriter$Mark this
         0: .line 1116
            aload 0 /* this */
            getfield org.bson.AbstractBsonWriter$Mark.this$0:Lorg/bson/AbstractBsonWriter;
            aload 0 /* this */
            getfield org.bson.AbstractBsonWriter$Mark.markedContext:Lorg/bson/AbstractBsonWriter$Context;
            invokevirtual org.bson.AbstractBsonWriter.setContext:(Lorg/bson/AbstractBsonWriter$Context;)V
         1: .line 1117
            aload 0 /* this */
            getfield org.bson.AbstractBsonWriter$Mark.this$0:Lorg/bson/AbstractBsonWriter;
            aload 0 /* this */
            getfield org.bson.AbstractBsonWriter$Mark.markedState:Lorg/bson/AbstractBsonWriter$State;
            invokevirtual org.bson.AbstractBsonWriter.setState:(Lorg/bson/AbstractBsonWriter$State;)V
         2: .line 1118
            aload 0 /* this */
            getfield org.bson.AbstractBsonWriter$Mark.this$0:Lorg/bson/AbstractBsonWriter;
            getfield org.bson.AbstractBsonWriter.context:Lorg/bson/AbstractBsonWriter$Context;
            aload 0 /* this */
            getfield org.bson.AbstractBsonWriter$Mark.currentName:Ljava/lang/String;
            putfield org.bson.AbstractBsonWriter$Context.name:Ljava/lang/String;
         3: .line 1119
            aload 0 /* this */
            getfield org.bson.AbstractBsonWriter$Mark.this$0:Lorg/bson/AbstractBsonWriter;
            aload 0 /* this */
            getfield org.bson.AbstractBsonWriter$Mark.serializationDepth:I
            putfield org.bson.AbstractBsonWriter.serializationDepth:I
         4: .line 1120
            return
        end local 0 // org.bson.AbstractBsonWriter$Mark this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/bson/AbstractBsonWriter$Mark;
}
SourceFile: "AbstractBsonWriter.java"
NestHost: org.bson.AbstractBsonWriter
InnerClasses:
  public Context = org.bson.AbstractBsonWriter$Context of org.bson.AbstractBsonWriter
  protected Mark = org.bson.AbstractBsonWriter$Mark of org.bson.AbstractBsonWriter
  public final State = org.bson.AbstractBsonWriter$State of org.bson.AbstractBsonWriter