In order to have other projects benefit from the work that I’ve put into the dynamic class discovery framework that I’ve developed over the years for ADAMS as well, I decided to separate out the discovery classes into a separate library:
Super classes/interfaces and associated packages to search are simply supplied as a java.util.Properties object. It is also possible to blacklist classes by either listing their full name or using regular expression patterns. The project page contains some example code.