code: private static <T> List<TableFactory> filterByFactoryClass(
  		Class<T> factoryClass,
  		Map<String, String> properties,
  		List<TableFactory> foundFactories) {
  
  		List<TableFactory> classFactories = foundFactories.stream()
  			.filter(p -> factoryClass.isAssignableFrom(p.getClass()))
  			.collect(Collectors.toList());
  
  		if (classFactories.isEmpty()) {
  			throw new NoMatchingTableFactoryException(
  				String.format("No factory implements '%s'.", factoryClass.getCanonicalName()),
  				factoryClass,
  				foundFactories,
  				properties);
  		}
  
  		return classFactories;
  	}
docs: Filters factories with matching context by factory class.