private static Batch <Class> loadClassesInDir(
    String packageName, Batch <Class> loaded
  ) {
    if (loaded == null) loaded = new Batch <Class> () ;
    final File baseDir = new File(packageName.replace('.', '/')) ;
    
    if (baseDir.isDirectory()) for (File defined : baseDir.listFiles()) try {
      final String fileName = defined.getName() ;
      if (defined.isDirectory()) {
        loadClassesInDir(packageName+"."+fileName, loaded) ;
        continue ;
      }
      if (! fileName.endsWith(".java")) continue ;
      
      final int cutoff = fileName.length() - ".java".length() ;
      final String className = fileName.substring(0, cutoff) ;
      loaded.add(Class.forName(packageName+"."+className)) ;
    }
    catch (Exception e) { I.report(e) ; }
    return loaded ;
  }