public GenericRequestBuilder<ModelType, DataType, ResourceType, TranscodeType> decoder(
            ResourceDecoder<DataType, ResourceType> decoder) {
        // loadProvider will be null if model is null, in which case we're not going to load anything so it's ok to
        // ignore the decoder.
        if (loadProvider != null) {
            loadProvider.setSourceDecoder(decoder);
        }

        return this;
    }
Sets the {@link ResourceDecoder} to use to load the resource from the original data.
By default, this decoder will only be used if the final transformed resource is not in the disk cache.

@see #cacheDecoder(ResourceDecoder)
@see DiskCacheStrategy

@param decoder The {@link ResourceDecoder} to use to decode the resource.
@return This request builder.
core/src/main/java/com/bumptech/glide/GenericRequestBuilder.java