code: public Set<Dependency> findAllDependencies(
              ClassFileReader classFinder, Set<String> rootClassNames,
              boolean transitiveClosure)
              throws ClassFileNotFoundException {
          final Set<Dependency> results = new HashSet<Dependency>();
          Recorder r = new Recorder() {
              public void addDependency(Dependency d) {
                  results.add(d);
              }
          };
          findAllDependencies(classFinder, rootClassNames, transitiveClosure, r);
          return results;
      }
docs: Find the dependencies of a class, using the current
  {@link Dependencies#getFinder finder} and
  {@link Dependencies#getFilter filter}.
  The search may optionally include the transitive closure of all the
  filtered dependencies, by also searching in the classes named in those
  dependencies.
  @param classFinder a finder to locate class files
  @param rootClassNames the names of the root classes from which to begin
  searching
  @param transitiveClosure whether or not to also search those classes
  named in any filtered dependencies that are found.
  @return the set of dependencies that were found
  @throws ClassFileNotFoundException if a required class file cannot be found
  @throws ClassFileError if an error occurs while processing a class file,
  such as an error in the internal class file structure.