docs: public static <T> void getSubClasses(Class<T> className, boolean allowAbstract, boolean allowInterface,
  			boolean allowEnum, Collection<Class<? extends T>> result) {
  		final String[] entries = System.getProperty("java.class.path") //$NON-NLS-1$
  				.split(Pattern.quote(System.getProperty("path.separator"))); //$NON-NLS-1$
  		String lentry;
  
  		for (final String path : entries) {
  			lentry = path.toLowerCase();
  			if (lentry.endsWith(".jar") || lentry.endsWith(".war")) { //$NON-NLS-1$ //$NON-NLS-2$
  				getSubClassesFromJar(result, path, className, allowAbstract, allowInterface, allowEnum);
  			} else {
  				getSubClassesFromFileSystem(result, path, className, allowAbstract, allowInterface, allowEnum);
  			}
  
  		}
  	}