This method returns a type description provider, but instead of creating a delegating provider for the type, this will walk all base types until it locates a provider. The provider returned cannot be cached. This method is used by the DelegatingTypeDescriptionProvider to efficiently locate the provider to delegate to.