DeadCodeElimination.doit(filter);
    private boolean propagate(SIRStream filter) {        boolean didPropagation = false;        do {            findCandidates(filter);                        // System.out.println("--------------------");            // System.out.println("Candidates Fields : ");            // Iterator keyIter = this.types.keySet().iterator();            // while (keyIter.hasNext()) {            //    Object f = */ keyIter.next();            //    System.out.println("Field: " + f + " " + this.types.get(f)            //      + " --> " + this.fields.get(f));            // }            long oldHash = HashLiterals.doit(filter);            doPropagation(filter);            long newHash = HashLiterals.doit(filter);            // if the literals in the filter didn't change, then quit            // propagating            if (oldHash == newHash)  break;            // mark that we did some propagating            didPropagation = true;        } while (true);        return didPropagation;    }