public GenericRequestBuilder<ModelType, DataType, ResourceType, TranscodeType> thumbnail(
            float sizeMultiplier) {
        if (sizeMultiplier < 0f || sizeMultiplier > 1f) {
            throw new IllegalArgumentException("sizeMultiplier must be between 0 and 1");
        }
        this.thumbSizeMultiplier = sizeMultiplier;

        return this;
    }
Loads a resource in an identical manner to this request except with the dimensions of the target multiplied
by the given size multiplier. If the thumbnail load completes before the fullsize load, the thumbnail will
be shown. If the thumbnail load completes afer the fullsize load, the thumbnail will not be shown.

<p>
    Note - The thumbnail resource will be smaller than the size requested so the target (or {@link ImageView})
    must be able to scale the thumbnail appropriately. See {@link ImageView.ScaleType}.
</p>

<p>
    Almost all options will be copied from the original load, including the
    {@link com.bumptech.glide.load.model.ModelLoader}, {@link ResourceDecoder}, and
    {@link Transformation}s. However, {@link #placeholder(int)} and {@link #error(int)},
    and {@link #listener(RequestListener)} will only be used on the fullsize load and will not be copied for
    the thumbnail load.
</p>

<p>
    Recursive calls to thumbnail are supported.
</p>

@param sizeMultiplier The multiplier to apply to the {@link Target}'s dimensions when loading the thumbnail.
@return This request builder.
core/src/main/java/com/bumptech/glide/GenericRequestBuilder.java