code: protected Iterator<String> iterateClassnames(final String directory) {
      final File dir = new File(directory);
      final String[] extensions = {".class"};
      final IOFileFilter fileFilter = new SuffixFileFilter(extensions);
      final IOFileFilter dirFilter = TrueFileFilter.INSTANCE;
      return ClassnameExtractor.iterateClassnames(dir,
                                                  FileUtils.iterateFiles(dir, fileFilter, dirFilter));
    }
docs: Search for class files (file extension: {@code .class}) on the passed {@code directory}.
  <p>
  Note: The passed directory name must exist and readable.
  </p>
  
  @param directory must nor be {@code null}
  @return iterator of full qualified class names and never {@code null}
  
  @throws NullPointerException if passed {@code directory} is {@code null}.
  
  @see SuffixFileFilter
  @see TrueFileFilter
  @see FileUtils#iterateFiles(File, IOFileFilter, IOFileFilter)
  @see ClassnameExtractor#iterateClassnames(File, Iterator)