code: public static <T> T findInternal(Class<T> factoryClass, Map<String, String> properties, Optional<ClassLoader> classLoader) {
  
  		Preconditions.checkNotNull(factoryClass);
  		Preconditions.checkNotNull(properties);
  
  		List<TableFactory> foundFactories = discoverFactories(classLoader);
  
  		List<TableFactory> classFactories = filterByFactoryClass(
  			factoryClass,
  			properties,
  			foundFactories);
  
  		List<TableFactory> contextFactories = filterByContext(
  			factoryClass,
  			properties,
  			foundFactories,
  			classFactories);
  
  		return filterBySupportedProperties(
  			factoryClass,
  			properties,
  			foundFactories,
  			contextFactories);
  	}
docs: Finds a table factory of the given class, property map, and classloader.
  
  @param factoryClass desired factory class
  @param properties properties that describe the factory configuration
  @param classLoader classloader for service loading
  @param <T> factory class type
  @return the matching factory