str.getMethods()[i].accept(new Propagator(new Hashtable()));
str.getMethods()[i].accept(new Propagator(new Hashtable<JLocalVariable,Object>()));
    public static void unroll(SIRStream str) {        if (str instanceof SIRFeedbackLoop)            {                SIRFeedbackLoop fl = (SIRFeedbackLoop)str;                unroll(fl.getBody());                unroll(fl.getLoop());            }        if (str instanceof SIRPipeline)            {                SIRPipeline pl = (SIRPipeline)str;                Iterator iter = pl.getChildren().iterator();                while (iter.hasNext())                    {                        SIRStream child = (SIRStream)iter.next();                        unroll(child);                    }            }        if (str instanceof SIRSplitJoin)            {                SIRSplitJoin sj = (SIRSplitJoin)str;                Iterator<SIRStream> iter = sj.getParallelStreams().iterator();                while (iter.hasNext())                    {                        SIRStream child = iter.next();                        unroll(child);                    }            }        if (str instanceof SIRFilter)            for (int i = 0; i < str.getMethods().length; i++) {                Unroller unroller;                //Very aggressive                //Intended as a last and final unroll pass                //do {                //do { //Unroll as much as possible                //unroller=new Unroller(new Hashtable());                //str.getMethods()[i].accept(unroller);                str.getMethods()[i].accept(new Propagator(new Hashtable()));                //  } while(unroller.hasUnrolled());                //Constant Prop then check to see if any new unrolling can be done                //str.getMethods()[i].accept(new Propagator(new Hashtable()));                //unroller=new Unroller(new Hashtable());                //str.getMethods()[i].accept(unroller);                //} while(unroller.hasUnrolled());            }    }