code: @SuppressWarnings("unchecked")
  	public void scanForProvidedResources(Object theProvider) {
  		ProvidesResources annotation = theProvider.getClass().getAnnotation(ProvidesResources.class);
  		if (annotation == null)
  			return;
  		for (Class<?> clazz : annotation.resources()) {
  			if (IBaseResource.class.isAssignableFrom(clazz)) {
  				myContext.getResourceDefinition((Class<? extends IBaseResource>) clazz);
  			} else {
  				ourLog.warn(clazz.getSimpleName() + "is not assignable from IResource");
  			}
  		}
  	}
docs: If {@code theProvider} is tagged with the {@code ProvidesResources} annotation, this method will add every
  resource listed by the {@code resources} method.
  <p>
  Notes:
  </p>
  <ul>
  <li>if {@code theProvider} isn't annotated with {@code resources} nothing is done; it's expected that most
  RestfulServers and ResourceProviders won't be annotated.</li>
  <li>any object listed in {@code resources} that doesn't implement {@code IResource} will generate a warning in the
  log.</li>
  </ul>
  
  @param theProvider
  - Normally, either a {@link ca.uhn.fhir.rest.server.RestfulServer} or a
  {@link ca.uhn.fhir.rest.server.IResourceProvider} that might be annotated with
  {@link ca.uhn.fhir.model.api.annotation.ProvidesResources}