Enumeration enum = fileTable.keys();
Enumeration enumList = fileTable.keys();
    public void run(String[] args) {        // Use a try/catch block for parser exceptions        try {            // create a new symbol table            SymbolTable symbolTable = SymbolTable.getSymbolTable();            // if we have at least one command-line argument            if (args.length > 0) {                System.out.println("\noutDirPath is " + getOutDir());                symbolTable.setOutDirPath(getOutDir());                System.out.print("\nParsing");                // for each directory/file specified on the command line                for (int i = 0; i < args.length; i++) {                    JavaXref.doFile(new File(args[i]), symbolTable,                            getRecurse(), this);    // parse it                }                System.out.print("\nResolving types");                // resolve the types of all symbols in the symbol table                symbolTable.resolveTypes();                symbolTable.resolveRefs();            } else {                System.out.println(USAGE);            }            // Iterate through each package            Hashtable packageTable = symbolTable.getPackages();            Enumeration pEnum = packageTable.elements();            System.out.print("\nPersisting definitions");                        while (pEnum.hasMoreElements()) {                PackageDef pDef = (PackageDef) pEnum.nextElement();                printAdvancement("Processing package " + pDef.getName());                // Generate tags for each package.  We cannot do one class                // at a time because more than one class might be in a                // single file, and we write out each file only one time.                HTMLTagContainer tagList = new HTMLTagContainer();                pDef.generateTags(tagList);                Hashtable fileTable = tagList.getFileTable();                Enumeration enum = fileTable.keys();                Vector tempFileTags = new Vector();                while (enum.hasMoreElements()) {                    tempFileTags.clear();                    File f = (File) enum.nextElement();                    if (inputFiles.contains(f.getAbsolutePath())) {                        Vector fileTags = (Vector) fileTable.get(f);                        tempFileTags.addAll(fileTags);                        // Generate the HTML tags for all references in this file                        // I.e. generate HTML mark-up of this .java file                        SymbolTable.createReferenceTags(f, tempFileTags);                        SymbolTable.getCommentTags(f, tempFileTags);                        SymbolTable.getLiteralTags(f, tempFileTags);                        SymbolTable.getKeywordTags(f, tempFileTags);                        createClassFiles(tempFileTags);                    }                }                // Create reference files                // I.e. generate HTML mark-up of all definitions in this package's .java files                // (no longer -- this happens in Pass2 now)                // System.out.println("\nWriting definition HTML...");                // pDef.generateReferenceFiles(getOutDir());                pDef.persistDefinitions(getOutDir());            }            System.out.print("\nPersisting references");            symbolTable.persistRefs(getOutDir());        } catch (Exception e) {