class com.mongodb.operation.CommandResultDocumentCodec<T> extends org.bson.codecs.BsonDocumentCodec
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.mongodb.operation.CommandResultDocumentCodec
  super_class: org.bson.codecs.BsonDocumentCodec
{
  private final org.bson.codecs.Decoder<T> payloadDecoder;
    descriptor: Lorg/bson/codecs/Decoder;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/bson/codecs/Decoder<TT;>;

  private final java.util.List<java.lang.String> fieldsContainingPayload;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/String;>;

  void <init>(org.bson.codecs.configuration.CodecRegistry, org.bson.codecs.Decoder<T>, java.util.List<java.lang.String>);
    descriptor: (Lorg/bson/codecs/configuration/CodecRegistry;Lorg/bson/codecs/Decoder;Ljava/util/List;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // com.mongodb.operation.CommandResultDocumentCodec this
        start local 1 // org.bson.codecs.configuration.CodecRegistry registry
        start local 2 // org.bson.codecs.Decoder payloadDecoder
        start local 3 // java.util.List fieldsContainingPayload
         0: .line 40
            aload 0 /* this */
            aload 1 /* registry */
            invokespecial org.bson.codecs.BsonDocumentCodec.<init>:(Lorg/bson/codecs/configuration/CodecRegistry;)V
         1: .line 41
            aload 0 /* this */
            aload 2 /* payloadDecoder */
            putfield com.mongodb.operation.CommandResultDocumentCodec.payloadDecoder:Lorg/bson/codecs/Decoder;
         2: .line 42
            aload 0 /* this */
            aload 3 /* fieldsContainingPayload */
            putfield com.mongodb.operation.CommandResultDocumentCodec.fieldsContainingPayload:Ljava/util/List;
         3: .line 43
            return
        end local 3 // java.util.List fieldsContainingPayload
        end local 2 // org.bson.codecs.Decoder payloadDecoder
        end local 1 // org.bson.codecs.configuration.CodecRegistry registry
        end local 0 // com.mongodb.operation.CommandResultDocumentCodec this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    4     0                     this  Lcom/mongodb/operation/CommandResultDocumentCodec<TT;>;
            0    4     1                 registry  Lorg/bson/codecs/configuration/CodecRegistry;
            0    4     2           payloadDecoder  Lorg/bson/codecs/Decoder<TT;>;
            0    4     3  fieldsContainingPayload  Ljava/util/List<Ljava/lang/String;>;
    Signature: (Lorg/bson/codecs/configuration/CodecRegistry;Lorg/bson/codecs/Decoder<TT;>;Ljava/util/List<Ljava/lang/String;>;)V
    MethodParameters:
                         Name  Flags
      registry                 final
      payloadDecoder           final
      fieldsContainingPayload  final

  static <P> org.bson.codecs.Codec<org.bson.BsonDocument> create(org.bson.codecs.Decoder<P>, java.lang.String);
    descriptor: (Lorg/bson/codecs/Decoder;Ljava/lang/String;)Lorg/bson/codecs/Codec;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.codecs.Decoder decoder
        start local 1 // java.lang.String fieldContainingPayload
         0: .line 46
            aload 0 /* decoder */
            aload 1 /* fieldContainingPayload */
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            invokestatic com.mongodb.operation.CommandResultDocumentCodec.create:(Lorg/bson/codecs/Decoder;Ljava/util/List;)Lorg/bson/codecs/Codec;
            areturn
        end local 1 // java.lang.String fieldContainingPayload
        end local 0 // org.bson.codecs.Decoder decoder
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    1     0                 decoder  Lorg/bson/codecs/Decoder<TP;>;
            0    1     1  fieldContainingPayload  Ljava/lang/String;
    Signature: <P:Ljava/lang/Object;>(Lorg/bson/codecs/Decoder<TP;>;Ljava/lang/String;)Lorg/bson/codecs/Codec<Lorg/bson/BsonDocument;>;
    MethodParameters:
                        Name  Flags
      decoder                 final
      fieldContainingPayload  final

  static <P> org.bson.codecs.Codec<org.bson.BsonDocument> create(org.bson.codecs.Decoder<P>, java.util.List<java.lang.String>);
    descriptor: (Lorg/bson/codecs/Decoder;Ljava/util/List;)Lorg/bson/codecs/Codec;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // org.bson.codecs.Decoder decoder
        start local 1 // java.util.List fieldsContainingPayload
         0: .line 50
            iconst_1
            anewarray org.bson.codecs.configuration.CodecProvider
            dup
            iconst_0
            new com.mongodb.operation.CommandResultCodecProvider
            dup
            aload 0 /* decoder */
            aload 1 /* fieldsContainingPayload */
            invokespecial com.mongodb.operation.CommandResultCodecProvider.<init>:(Lorg/bson/codecs/Decoder;Ljava/util/List;)V
            aastore
            invokestatic org.bson.codecs.configuration.CodecRegistries.fromProviders:([Lorg/bson/codecs/configuration/CodecProvider;)Lorg/bson/codecs/configuration/CodecRegistry;
            astore 2 /* registry */
        start local 2 // org.bson.codecs.configuration.CodecRegistry registry
         1: .line 51
            aload 2 /* registry */
            ldc Lorg/bson/BsonDocument;
            invokeinterface org.bson.codecs.configuration.CodecRegistry.get:(Ljava/lang/Class;)Lorg/bson/codecs/Codec;
            areturn
        end local 2 // org.bson.codecs.configuration.CodecRegistry registry
        end local 1 // java.util.List fieldsContainingPayload
        end local 0 // org.bson.codecs.Decoder decoder
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    2     0                  decoder  Lorg/bson/codecs/Decoder<TP;>;
            0    2     1  fieldsContainingPayload  Ljava/util/List<Ljava/lang/String;>;
            1    2     2                 registry  Lorg/bson/codecs/configuration/CodecRegistry;
    Signature: <P:Ljava/lang/Object;>(Lorg/bson/codecs/Decoder<TP;>;Ljava/util/List<Ljava/lang/String;>;)Lorg/bson/codecs/Codec<Lorg/bson/BsonDocument;>;
    MethodParameters:
                         Name  Flags
      decoder                  final
      fieldsContainingPayload  final

  protected org.bson.BsonValue readValue(org.bson.BsonReader, org.bson.codecs.DecoderContext);
    descriptor: (Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Lorg/bson/BsonValue;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.mongodb.operation.CommandResultDocumentCodec this
        start local 1 // org.bson.BsonReader reader
        start local 2 // org.bson.codecs.DecoderContext decoderContext
         0: .line 56
            aload 0 /* this */
            getfield com.mongodb.operation.CommandResultDocumentCodec.fieldsContainingPayload:Ljava/util/List;
            aload 1 /* reader */
            invokeinterface org.bson.BsonReader.getCurrentName:()Ljava/lang/String;
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 5
         1: .line 57
            aload 1 /* reader */
            invokeinterface org.bson.BsonReader.getCurrentBsonType:()Lorg/bson/BsonType;
            getstatic org.bson.BsonType.DOCUMENT:Lorg/bson/BsonType;
            if_acmpne 3
         2: .line 58
            new org.bson.BsonDocumentWrapper
            dup
            aload 0 /* this */
            getfield com.mongodb.operation.CommandResultDocumentCodec.payloadDecoder:Lorg/bson/codecs/Decoder;
            aload 1 /* reader */
            aload 2 /* decoderContext */
            invokeinterface org.bson.codecs.Decoder.decode:(Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
            aconst_null
            invokespecial org.bson.BsonDocumentWrapper.<init>:(Ljava/lang/Object;Lorg/bson/codecs/Encoder;)V
            areturn
         3: .line 59
      StackMap locals:
      StackMap stack:
            aload 1 /* reader */
            invokeinterface org.bson.BsonReader.getCurrentBsonType:()Lorg/bson/BsonType;
            getstatic org.bson.BsonType.ARRAY:Lorg/bson/BsonType;
            if_acmpne 5
         4: .line 60
            new com.mongodb.operation.CommandResultArrayCodec
            dup
            aload 0 /* this */
            invokevirtual com.mongodb.operation.CommandResultDocumentCodec.getCodecRegistry:()Lorg/bson/codecs/configuration/CodecRegistry;
            aload 0 /* this */
            getfield com.mongodb.operation.CommandResultDocumentCodec.payloadDecoder:Lorg/bson/codecs/Decoder;
            invokespecial com.mongodb.operation.CommandResultArrayCodec.<init>:(Lorg/bson/codecs/configuration/CodecRegistry;Lorg/bson/codecs/Decoder;)V
            aload 1 /* reader */
            aload 2 /* decoderContext */
            invokevirtual com.mongodb.operation.CommandResultArrayCodec.decode:(Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Lorg/bson/BsonArray;
            areturn
         5: .line 63
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* reader */
            aload 2 /* decoderContext */
            invokespecial org.bson.codecs.BsonDocumentCodec.readValue:(Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Lorg/bson/BsonValue;
            areturn
        end local 2 // org.bson.codecs.DecoderContext decoderContext
        end local 1 // org.bson.BsonReader reader
        end local 0 // com.mongodb.operation.CommandResultDocumentCodec this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0            this  Lcom/mongodb/operation/CommandResultDocumentCodec<TT;>;
            0    6     1          reader  Lorg/bson/BsonReader;
            0    6     2  decoderContext  Lorg/bson/codecs/DecoderContext;
    MethodParameters:
                Name  Flags
      reader          final
      decoderContext  final
}
Signature: <T:Ljava/lang/Object;>Lorg/bson/codecs/BsonDocumentCodec;
SourceFile: "CommandResultDocumentCodec.java"