    01: /**
    02:    The visitor interface type for visiting file system nodes.
    03: */
    04: public interface FileSystemVisitor
    05: {
    06:    /**
    07:       Visits a file node.
    08:       @param node the file node
    09:    */
    10:    void visitFileNode(FileNode node);
    11:
    12:    /**
    13:       Visits a directory node.
    14:       @param node the directory node
    15:    */
    16:    void visitDirectoryNode(DirectoryNode node);
    17: }