System.err.println("  report is " + r + " -obscuring-");
    private Vector filterPastReports(Vector pastReports, Player p) {        System.err.println("filterPastReports() begin");        System.err.println("  player is " + p.getName());        if (doBlind()) {            System.err.println("  pastReports vector is\n" + pastReports);            Vector filteredReports = new Vector();            Vector filteredRoundReports = new Vector();            Vector roundReports = new Vector();            Report r;            for (int i = 0; i < pastReports.size(); i++) {                roundReports = (Vector)pastReports.elementAt(i);                System.err.println("  roundReports vector is\n" + roundReports);                for (int j = 0; j < roundReports.size(); j++) {                    r = (Report)roundReports.elementAt(j);                    if (r.isObscuredRecipient(p.getName())) {                        System.err.println("  report is " + r + " -obscuring-");                        filteredRoundReports.addElement(filterReport(r, null, true));                    } else {                        System.err.println("  report is " + r);                        filteredRoundReports.addElement(r);                    }                }                System.err.println("  filteredRoundReport is\n" + filteredRoundReports);                filteredReports.addElement(filteredRoundReports.clone());                filteredRoundReports.removeAllElements();            }            System.err.println("filterPastReports() end");            return filteredReports;        } else {            //don't bother filtering if double-blind rules aren't in effect            System.err.println("filterPastReports() end");            return pastReports;        }    }