code: protected void traverseDir(String prefix, File dir, TraversalState state) {
      File[]	files;
  
      // check classes
      files = dir.listFiles(new ClassFileFilter());
      if (files != null) {
        for (File file : files) {
  	if (prefix == null)
  	  traverse(file.getName(), state);
  	else
  	  traverse(prefix + "." + file.getName(), state);
        }
      }
  
      // descend in directories
      files = dir.listFiles(new DirectoryFilter());
      if (files != null) {
        for (File file : files) {
  	if (prefix == null)
  	  traverseDir(file.getName(), file, state);
  	else
  	  traverseDir(prefix + "." + file.getName(), file, state);
        }
      }
    }
docs: Fills the class cache with classes in the specified directory.
  
  @param prefix	the package prefix so far, null for default package
  @param dir		the directory to search
  @param state 	the traversal state