@SuppressWarnings("unchecked")
    @Override
    public final T get() {
        // Drawables contain temporary state related to how they're being displayed (alpha, color filter etc), so
        // return a new copy each time. If we ever return the original drawable, it's temporary state may be changed
        // and subsequent copies may end up with that temporary state. See #276.
        return (T) drawable.getConstantState().newDrawable();
    }
Simple wrapper for an Android {@link Drawable} which returns a
{@link Drawable.ConstantState#newDrawable() new drawable}
based on it's {@link Drawable.ConstantState state}.

<b>Suggested usages only include {@code T}s where the new drawable is of the same or descendant class.</b>

@param <T> type of the wrapped {@link Drawable}
core/src/main/java/com/bumptech/glide/load/resource/drawable/DrawableResource.java