class Providers {

    private Providers() {
    }

    /**
     * Returns a provider which always provides {@code instance}.  This should not
     * be necessary to use in your application, but is helpful for several types
     * of unit tests.
     *
     * @param instance the instance that should always be provided.  This is also
     *                 permitted to be null, to enable aggressive testing, although in real
     *                 life a Guice-supplied Provider will never return null.
     */
    public static <T> Provider<T> of(final T instance) {<FILL_FUNCTION_BODY>}
}

        return new Provider<T>() {
            @Override
            public T get() {
                return instance;
            }

            @Override
            public String toString() {
                return "of(" + instance + ")";
            }
        };
    
<no_super_class>