testCount = 0;
count = 0;
    protected void processResults(List testResults, PrintWriter pw) {        pw.println("<html>");        pw.println("<head><title>Acceptance Test Results</title></head>");        pw.println("<body>");        pw.println("<h2>Failing tests:</h2>");        pw.println("<p>");        int testCount = 0;        boolean seenFailure = false;        for (Iterator testResultsIter = testResults.iterator(); testResultsIter.hasNext();) {            AcceptanceTestResult atr = (AcceptanceTestResult) testResultsIter.next();            pw.println("<ul>");            if (!atr.isSuccessful()) {                pw.println("<li><a href=\"#test" + testCount + "\">");                pw.println(atr.getTest().getSql());                pw.println("</a></li>");                seenFailure = true;            }            pw.println("</ul>");            testCount++;        }        if (!seenFailure) {            pw.println("None");        }        pw.println("</p><hr/>");        testCount = 0;        Iterator testResultsIter = testResults.iterator();        while (testResultsIter.hasNext()) {            AcceptanceTestResult atr = (AcceptanceTestResult) testResultsIter.next();            pw.println("<h2><a name=\"test" + testCount + "\">Testing: <font size=\"-1\">"                       + atr.getTest().getSql() + "</font></a></h2>");            pw.println("<h3>test type: " + atr.getTest().getType() + "</h3>");            if (atr.getTest().getNote() != null) {                String hyperlinkedDescription = hyperLinkNote(atr.getTest().getNote());                pw.println("<h3>Description: " +  hyperlinkedDescription + "</h3>");            }            if (atr.isSuccessful()) {                pw.println("<p>Result: <font color=\"green\">successful</font></p>");            } else {                pw.println("<p>Result: <font color=\"red\">FAILED</font></p>");            }            if (atr.getException() == null) {                if ((atr.getTest().getType().equals(AcceptanceTest.NO_RESULTS_TEST)                     || atr.getTest().getType().equals(AcceptanceTest.RESULTS_REPORT))                    && atr.getResults().size() > 0) {                    outputTable(pw, atr, atr.getColumnLabels(), atr.getResults());                }            } else {                pw.println("<p>SQLException while executing SQL:</p>");                pw.println("<pre>");                atr.getException().printStackTrace(pw);                pw.println("</pre>");            }            pw.println("<hr>");            testCount++;        }        testResultsIter = testResults.iterator();        while (testResultsIter.hasNext()) {            AcceptanceTestResult atr = (AcceptanceTestResult) testResultsIter.next();            Iterator trackerIdIter = atr.getTrackerMap().keySet().iterator();            while (trackerIdIter.hasNext()) {                Integer id = (Integer) trackerIdIter.next();                List trackerRows = (List) atr.getTrackerMap().get(id);                pw.println("<h2><a name=\"object" + id + "\">Tracker entries for "                           + id + "</a></h2>");                outputTable(pw, atr, null, trackerRows);                pw.println("<hr>");            }        }        pw.println("</ul></body></html>");        pw.close();    }