docs: public static <T> Set<Class<?>> getAllDirectInterfaces(Class<? extends T> lowestType, Class<T> highestType) {
  		assert lowestType != null;
  		final Set<Class<?>> collection = new TreeSet<>(ClassComparator.SINGLETON);
  		Class<?> type = lowestType;
  		boolean cont;
  		do {
  			for (final Class<?> directInterface : type.getInterfaces()) {
  				collection.add(directInterface);
  			}
  			cont = highestType == null || !type.equals(highestType);
  			type = type.getSuperclass();
  		}
  		while (type != null && cont);
  		return collection;
  	}