public class com.google.protobuf.SingleFieldBuilderV3<MType extends com.google.protobuf.AbstractMessage, BType extends com.google.protobuf.AbstractMessage$Builder, IType extends com.google.protobuf.MessageOrBuilder> implements com.google.protobuf.AbstractMessage$BuilderParent
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.google.protobuf.SingleFieldBuilderV3
  super_class: java.lang.Object
{
  private com.google.protobuf.AbstractMessage$BuilderParent parent;
    descriptor: Lcom/google/protobuf/AbstractMessage$BuilderParent;
    flags: (0x0002) ACC_PRIVATE

  private BType builder;
    descriptor: Lcom/google/protobuf/AbstractMessage$Builder;
    flags: (0x0002) ACC_PRIVATE
    Signature: TBType;

  private MType message;
    descriptor: Lcom/google/protobuf/AbstractMessage;
    flags: (0x0002) ACC_PRIVATE
    Signature: TMType;

  private boolean isClean;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  public void <init>(MType, com.google.protobuf.AbstractMessage$BuilderParent, );
    descriptor: (Lcom/google/protobuf/AbstractMessage;Lcom/google/protobuf/AbstractMessage$BuilderParent;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // com.google.protobuf.SingleFieldBuilderV3 this
        start local 1 // com.google.protobuf.AbstractMessage message
        start local 2 // com.google.protobuf.AbstractMessage$BuilderParent parent
        start local 3 // boolean isClean
         0: .line 79
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 80
            aload 0 /* this */
            aload 1 /* message */
            invokestatic com.google.protobuf.Internal.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.google.protobuf.AbstractMessage
            putfield com.google.protobuf.SingleFieldBuilderV3.message:Lcom/google/protobuf/AbstractMessage;
         2: .line 81
            aload 0 /* this */
            aload 2 /* parent */
            putfield com.google.protobuf.SingleFieldBuilderV3.parent:Lcom/google/protobuf/AbstractMessage$BuilderParent;
         3: .line 82
            aload 0 /* this */
            iload 3 /* isClean */
            putfield com.google.protobuf.SingleFieldBuilderV3.isClean:Z
         4: .line 83
            return
        end local 3 // boolean isClean
        end local 2 // com.google.protobuf.AbstractMessage$BuilderParent parent
        end local 1 // com.google.protobuf.AbstractMessage message
        end local 0 // com.google.protobuf.SingleFieldBuilderV3 this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lcom/google/protobuf/SingleFieldBuilderV3<TMType;TBType;TIType;>;
            0    5     1  message  TMType;
            0    5     2   parent  Lcom/google/protobuf/AbstractMessage$BuilderParent;
            0    5     3  isClean  Z
    Signature: (TMType;Lcom/google/protobuf/AbstractMessage$BuilderParent;Z)V
    MethodParameters:
         Name  Flags
      message  
      parent   
      isClean  

  public void dispose();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.protobuf.SingleFieldBuilderV3 this
         0: .line 87
            aload 0 /* this */
            aconst_null
            putfield com.google.protobuf.SingleFieldBuilderV3.parent:Lcom/google/protobuf/AbstractMessage$BuilderParent;
         1: .line 88
            return
        end local 0 // com.google.protobuf.SingleFieldBuilderV3 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/google/protobuf/SingleFieldBuilderV3<TMType;TBType;TIType;>;

  public MType getMessage();
    descriptor: ()Lcom/google/protobuf/AbstractMessage;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.protobuf.SingleFieldBuilderV3 this
         0: .line 99
            aload 0 /* this */
            getfield com.google.protobuf.SingleFieldBuilderV3.message:Lcom/google/protobuf/AbstractMessage;
            ifnonnull 2
         1: .line 101
            aload 0 /* this */
            aload 0 /* this */
            getfield com.google.protobuf.SingleFieldBuilderV3.builder:Lcom/google/protobuf/AbstractMessage$Builder;
            invokevirtual com.google.protobuf.AbstractMessage$Builder.buildPartial:()Lcom/google/protobuf/Message;
            checkcast com.google.protobuf.AbstractMessage
            putfield com.google.protobuf.SingleFieldBuilderV3.message:Lcom/google/protobuf/AbstractMessage;
         2: .line 103
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.google.protobuf.SingleFieldBuilderV3.message:Lcom/google/protobuf/AbstractMessage;
            areturn
        end local 0 // com.google.protobuf.SingleFieldBuilderV3 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/google/protobuf/SingleFieldBuilderV3<TMType;TBType;TIType;>;
    Signature: ()TMType;

  public MType build();
    descriptor: ()Lcom/google/protobuf/AbstractMessage;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.protobuf.SingleFieldBuilderV3 this
         0: .line 114
            aload 0 /* this */
            iconst_1
            putfield com.google.protobuf.SingleFieldBuilderV3.isClean:Z
         1: .line 115
            aload 0 /* this */
            invokevirtual com.google.protobuf.SingleFieldBuilderV3.getMessage:()Lcom/google/protobuf/AbstractMessage;
            areturn
        end local 0 // com.google.protobuf.SingleFieldBuilderV3 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/google/protobuf/SingleFieldBuilderV3<TMType;TBType;TIType;>;
    Signature: ()TMType;

  public BType getBuilder();
    descriptor: ()Lcom/google/protobuf/AbstractMessage$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.google.protobuf.SingleFieldBuilderV3 this
         0: .line 126
            aload 0 /* this */
            getfield com.google.protobuf.SingleFieldBuilderV3.builder:Lcom/google/protobuf/AbstractMessage$Builder;
            ifnonnull 4
         1: .line 131
            aload 0 /* this */
            aload 0 /* this */
            getfield com.google.protobuf.SingleFieldBuilderV3.message:Lcom/google/protobuf/AbstractMessage;
            aload 0 /* this */
            invokevirtual com.google.protobuf.AbstractMessage.newBuilderForType:(Lcom/google/protobuf/AbstractMessage$BuilderParent;)Lcom/google/protobuf/Message$Builder;
            checkcast com.google.protobuf.AbstractMessage$Builder
            putfield com.google.protobuf.SingleFieldBuilderV3.builder:Lcom/google/protobuf/AbstractMessage$Builder;
         2: .line 132
            aload 0 /* this */
            getfield com.google.protobuf.SingleFieldBuilderV3.builder:Lcom/google/protobuf/AbstractMessage$Builder;
            aload 0 /* this */
            getfield com.google.protobuf.SingleFieldBuilderV3.message:Lcom/google/protobuf/AbstractMessage;
            invokevirtual com.google.protobuf.AbstractMessage$Builder.mergeFrom:(Lcom/google/protobuf/Message;)Lcom/google/protobuf/AbstractMessage$Builder;
            pop
         3: .line 133
            aload 0 /* this */
            getfield com.google.protobuf.SingleFieldBuilderV3.builder:Lcom/google/protobuf/AbstractMessage$Builder;
            invokevirtual com.google.protobuf.AbstractMessage$Builder.markClean:()V
         4: .line 135
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.google.protobuf.SingleFieldBuilderV3.builder:Lcom/google/protobuf/AbstractMessage$Builder;
            areturn
        end local 0 // com.google.protobuf.SingleFieldBuilderV3 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/google/protobuf/SingleFieldBuilderV3<TMType;TBType;TIType;>;
    Signature: ()TBType;

  public IType getMessageOrBuilder();
    descriptor: ()Lcom/google/protobuf/MessageOrBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.protobuf.SingleFieldBuilderV3 this
         0: .line 146
            aload 0 /* this */
            getfield com.google.protobuf.SingleFieldBuilderV3.builder:Lcom/google/protobuf/AbstractMessage$Builder;
            ifnull 2
         1: .line 147
            aload 0 /* this */
            getfield com.google.protobuf.SingleFieldBuilderV3.builder:Lcom/google/protobuf/AbstractMessage$Builder;
            areturn
         2: .line 149
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.google.protobuf.SingleFieldBuilderV3.message:Lcom/google/protobuf/AbstractMessage;
            areturn
        end local 0 // com.google.protobuf.SingleFieldBuilderV3 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/google/protobuf/SingleFieldBuilderV3<TMType;TBType;TIType;>;
    Signature: ()TIType;

  public com.google.protobuf.SingleFieldBuilderV3<MType, BType, IType> setMessage(MType);
    descriptor: (Lcom/google/protobuf/AbstractMessage;)Lcom/google/protobuf/SingleFieldBuilderV3;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.google.protobuf.SingleFieldBuilderV3 this
        start local 1 // com.google.protobuf.AbstractMessage message
         0: .line 160
            aload 0 /* this */
            aload 1 /* message */
            invokestatic com.google.protobuf.Internal.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.google.protobuf.AbstractMessage
            putfield com.google.protobuf.SingleFieldBuilderV3.message:Lcom/google/protobuf/AbstractMessage;
         1: .line 161
            aload 0 /* this */
            getfield com.google.protobuf.SingleFieldBuilderV3.builder:Lcom/google/protobuf/AbstractMessage$Builder;
            ifnull 4
         2: .line 162
            aload 0 /* this */
            getfield com.google.protobuf.SingleFieldBuilderV3.builder:Lcom/google/protobuf/AbstractMessage$Builder;
            invokevirtual com.google.protobuf.AbstractMessage$Builder.dispose:()V
         3: .line 163
            aload 0 /* this */
            aconst_null
            putfield com.google.protobuf.SingleFieldBuilderV3.builder:Lcom/google/protobuf/AbstractMessage$Builder;
         4: .line 165
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.google.protobuf.SingleFieldBuilderV3.onChanged:()V
         5: .line 166
            aload 0 /* this */
            areturn
        end local 1 // com.google.protobuf.AbstractMessage message
        end local 0 // com.google.protobuf.SingleFieldBuilderV3 this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lcom/google/protobuf/SingleFieldBuilderV3<TMType;TBType;TIType;>;
            0    6     1  message  TMType;
    Signature: (TMType;)Lcom/google/protobuf/SingleFieldBuilderV3<TMType;TBType;TIType;>;
    MethodParameters:
         Name  Flags
      message  

  public com.google.protobuf.SingleFieldBuilderV3<MType, BType, IType> mergeFrom(MType);
    descriptor: (Lcom/google/protobuf/AbstractMessage;)Lcom/google/protobuf/SingleFieldBuilderV3;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.google.protobuf.SingleFieldBuilderV3 this
        start local 1 // com.google.protobuf.AbstractMessage value
         0: .line 176
            aload 0 /* this */
            getfield com.google.protobuf.SingleFieldBuilderV3.builder:Lcom/google/protobuf/AbstractMessage$Builder;
            ifnonnull 3
            aload 0 /* this */
            getfield com.google.protobuf.SingleFieldBuilderV3.message:Lcom/google/protobuf/AbstractMessage;
            aload 0 /* this */
            getfield com.google.protobuf.SingleFieldBuilderV3.message:Lcom/google/protobuf/AbstractMessage;
            invokevirtual com.google.protobuf.AbstractMessage.getDefaultInstanceForType:()Lcom/google/protobuf/Message;
            if_acmpne 3
         1: .line 177
            aload 0 /* this */
            aload 1 /* value */
            putfield com.google.protobuf.SingleFieldBuilderV3.message:Lcom/google/protobuf/AbstractMessage;
         2: .line 178
            goto 4
         3: .line 179
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.google.protobuf.SingleFieldBuilderV3.getBuilder:()Lcom/google/protobuf/AbstractMessage$Builder;
            aload 1 /* value */
            invokevirtual com.google.protobuf.AbstractMessage$Builder.mergeFrom:(Lcom/google/protobuf/Message;)Lcom/google/protobuf/AbstractMessage$Builder;
            pop
         4: .line 181
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.google.protobuf.SingleFieldBuilderV3.onChanged:()V
         5: .line 182
            aload 0 /* this */
            areturn
        end local 1 // com.google.protobuf.AbstractMessage value
        end local 0 // com.google.protobuf.SingleFieldBuilderV3 this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lcom/google/protobuf/SingleFieldBuilderV3<TMType;TBType;TIType;>;
            0    6     1  value  TMType;
    Signature: (TMType;)Lcom/google/protobuf/SingleFieldBuilderV3<TMType;TBType;TIType;>;
    MethodParameters:
       Name  Flags
      value  

  public com.google.protobuf.SingleFieldBuilderV3<MType, BType, IType> clear();
    descriptor: ()Lcom/google/protobuf/SingleFieldBuilderV3;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.protobuf.SingleFieldBuilderV3 this
         0: .line 192
            aload 0 /* this */
         1: .line 194
            aload 0 /* this */
            getfield com.google.protobuf.SingleFieldBuilderV3.message:Lcom/google/protobuf/AbstractMessage;
            ifnull 3
         2: .line 195
            aload 0 /* this */
            getfield com.google.protobuf.SingleFieldBuilderV3.message:Lcom/google/protobuf/AbstractMessage;
            invokevirtual com.google.protobuf.AbstractMessage.getDefaultInstanceForType:()Lcom/google/protobuf/Message;
            goto 4
         3: .line 196
      StackMap locals:
      StackMap stack: com.google.protobuf.SingleFieldBuilderV3
            aload 0 /* this */
            getfield com.google.protobuf.SingleFieldBuilderV3.builder:Lcom/google/protobuf/AbstractMessage$Builder;
            invokevirtual com.google.protobuf.AbstractMessage$Builder.getDefaultInstanceForType:()Lcom/google/protobuf/Message;
         4: .line 193
      StackMap locals: com.google.protobuf.SingleFieldBuilderV3
      StackMap stack: com.google.protobuf.SingleFieldBuilderV3 com.google.protobuf.Message
            checkcast com.google.protobuf.AbstractMessage
         5: .line 192
            putfield com.google.protobuf.SingleFieldBuilderV3.message:Lcom/google/protobuf/AbstractMessage;
         6: .line 197
            aload 0 /* this */
            getfield com.google.protobuf.SingleFieldBuilderV3.builder:Lcom/google/protobuf/AbstractMessage$Builder;
            ifnull 9
         7: .line 198
            aload 0 /* this */
            getfield com.google.protobuf.SingleFieldBuilderV3.builder:Lcom/google/protobuf/AbstractMessage$Builder;
            invokevirtual com.google.protobuf.AbstractMessage$Builder.dispose:()V
         8: .line 199
            aload 0 /* this */
            aconst_null
            putfield com.google.protobuf.SingleFieldBuilderV3.builder:Lcom/google/protobuf/AbstractMessage$Builder;
         9: .line 201
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.google.protobuf.SingleFieldBuilderV3.onChanged:()V
        10: .line 202
            aload 0 /* this */
            areturn
        end local 0 // com.google.protobuf.SingleFieldBuilderV3 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lcom/google/protobuf/SingleFieldBuilderV3<TMType;TBType;TIType;>;
    Signature: ()Lcom/google/protobuf/SingleFieldBuilderV3<TMType;TBType;TIType;>;

  private void onChanged();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.protobuf.SingleFieldBuilderV3 this
         0: .line 212
            aload 0 /* this */
            getfield com.google.protobuf.SingleFieldBuilderV3.builder:Lcom/google/protobuf/AbstractMessage$Builder;
            ifnull 2
         1: .line 213
            aload 0 /* this */
            aconst_null
            putfield com.google.protobuf.SingleFieldBuilderV3.message:Lcom/google/protobuf/AbstractMessage;
         2: .line 215
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.google.protobuf.SingleFieldBuilderV3.isClean:Z
            ifeq 5
            aload 0 /* this */
            getfield com.google.protobuf.SingleFieldBuilderV3.parent:Lcom/google/protobuf/AbstractMessage$BuilderParent;
            ifnull 5
         3: .line 216
            aload 0 /* this */
            getfield com.google.protobuf.SingleFieldBuilderV3.parent:Lcom/google/protobuf/AbstractMessage$BuilderParent;
            invokeinterface com.google.protobuf.AbstractMessage$BuilderParent.markDirty:()V
         4: .line 219
            aload 0 /* this */
            iconst_0
            putfield com.google.protobuf.SingleFieldBuilderV3.isClean:Z
         5: .line 221
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.google.protobuf.SingleFieldBuilderV3 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/google/protobuf/SingleFieldBuilderV3<TMType;TBType;TIType;>;

  public void markDirty();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.protobuf.SingleFieldBuilderV3 this
         0: .line 225
            aload 0 /* this */
            invokevirtual com.google.protobuf.SingleFieldBuilderV3.onChanged:()V
         1: .line 226
            return
        end local 0 // com.google.protobuf.SingleFieldBuilderV3 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/google/protobuf/SingleFieldBuilderV3<TMType;TBType;TIType;>;
}
Signature: <MType:Lcom/google/protobuf/AbstractMessage;BType:Lcom/google/protobuf/AbstractMessage$Builder;IType::Lcom/google/protobuf/MessageOrBuilder;>Ljava/lang/Object;Lcom/google/protobuf/AbstractMessage$BuilderParent;
SourceFile: "SingleFieldBuilderV3.java"
InnerClasses:
  public abstract Builder = com.google.protobuf.AbstractMessage$Builder of com.google.protobuf.AbstractMessage
  protected abstract BuilderParent = com.google.protobuf.AbstractMessage$BuilderParent of com.google.protobuf.AbstractMessage
  public abstract Builder = com.google.protobuf.Message$Builder of com.google.protobuf.Message