code: public static <U> LifecycleProvider<U> of(@Nonnull final Class<? extends Provider<U>> providerClass)
      {
          return new DelegatingLifecycleProvider<U>(providerClass, null);
      }
docs: Returns a LifecycleProvider that delegates to an existing provider. The provider is managed by Guice
  and injected.