
 
        Template method to allow subclasses to supply elements for the
 iteration. The directory iterator maintains a stack of iterators
 covering each level in the directory hierarchy. The current iterator
 covers the current directory being scanned. If the next entry in that
 directory is a subdirectory, the current iterator is pushed onto the
 stack and a new iterator is created for the subdirectory. If the
 entry is a file, it is returned as the next element and the iterator
 remains valid. If there are no more entries in the current directory,
 the topmost iterator on the stack is popped off to become the
 current iterator.
        
        
Returns:
    the next ClassFile in the iteration.