public void run() {
classNamesCache = new ArrayList(UPDATE_EVERY);
numberOfClasses = 0;
ClassFinder cf = new ClassFinder();
cf.findSubclasses(classname, this, classfilter);
if (classNamesCache.size() > 0) {
appendToList(classNamesCache);
classNamesCache.clear();
}
// last call, with empty list, to update status message