public TResource GetResource <TResource>(ICapabilities requiredCapabilities)
     where TResource : class, IPublicResource
 {
     ValidateHealthState();
     return(ResourceGraph.GetResource <TResource>(r => requiredCapabilities.ProvidedBy(r.Capabilities)).Proxify(TypeController));
 }
 public TResource GetResource <TResource>(Func <TResource, bool> predicate)
     where TResource : class, IPublicResource
 {
     ValidateHealthState();
     return(ResourceGraph.GetResource(predicate).Proxify(TypeController));
 }
 public TResource GetResource <TResource>(string name)
     where TResource : class, IPublicResource
 {
     ValidateHealthState();
     return(ResourceGraph.GetResource <TResource>(name).Proxify(TypeController));
 }