@Documented
@Target(value=METHOD)
@Retention(value=RUNTIME)
public @interface Provides
Dagger forbids injecting null by default. Component implemenations that invoke
@Provides methods that return null will throw a NullPointerException
immediately thereafter. @Provides methods may opt into allowing null by
annotating the method with any @Nullable annotation like
javax.annotation.Nullable or android.support.annotation.Nullable.
If a @Provides method is marked @Nullable, Dagger will only
allow injection into sites that are marked @Nullable as well. A component that
attempts to pair a @Nullable provision with a non-@Nullable injection site
will fail to compile.