code: protected void scanDir(final File file, final String path) {
          for ( final File child: file.listFiles() ) {
              final String newPath = (path==null ? child.getName() : path + '/' + child.getName() );
              if ( child.isDirectory() ) {
                  scanDir(child, newPath);
              }
              else {
                  handleItem(newPath);
              }
          }
      }
docs: Scans a directory on the filesystem for classes.
  @param file the directory or file to examine
  @param path the package path acculmulated so far (e.g. edu/mit/broad)