protected BsonValue readValue(final BsonReader reader, final DecoderContext decoderContext) {
        return codecRegistry.get(BsonValueCodecProvider.getClassForBsonType(reader.getCurrentBsonType())).decode(reader, decoderContext);
    }
protected BsonValue readValue(final BsonReader reader, final DecoderContext decoderContext) {
        return codecRegistry.get(BsonValueCodecProvider.getClassForBsonType(reader.getCurrentBsonType())).decode(reader, decoderContext);
    }
protected BsonValue readValue ( final BsonReader reader , final DecoderContext decoderContext ) { return codecRegistry . get ( BsonValueCodecProvider . getClassForBsonType ( reader . getCurrentBsonType ( ) ) ) . decode ( reader , decoderContext ) ; }
This method may be overridden to change the behavior of reading the current value from the given {@code BsonReader}.  It is required
that the value be fully consumed before returning.

@param reader the read to read the value from
@param decoderContext the decoder context
@return the non-null value read from the reader
This method may be overridden to change the behavior of reading the current value from the given { @code BsonReader } . It is required that the value be fully consumed before returning .