code: @Nullable
    <T> Class<? extends T> findPlugin(Class<T> pluginType) {
      return best(pluginType, findPlugins(pluginType));
    }
docs: Returns an implementation class for the specified plugin.
  
  If there is more than such one candidate, the classes will be sorted by {@link Priority}
  and the one with the highest priority will be returned. If multiple classes claim the same
  priority, a {@link ServiceConfigurationError} will be thrown. Classes without a Priority
  are treated as `@Priority(0)`.
  
  @param pluginType the class of the plugin type
  @param <T> the class of the plugin type
  @return the implementing class with the highest priority