System.out.println("New Stuff:"+initPush+" "+initPop+" "+initPeek);
    private static SIRFilter makeFused(List filterInfo, 				       JMethodDeclaration init, 				       JMethodDeclaration initWork, 				       JMethodDeclaration steadyWork) {	// get the first and last filters' info	FilterInfo first = (FilterInfo)filterInfo.get(0);	FilterInfo last = (FilterInfo)filterInfo.get(filterInfo.size()-1);	// calculate the peek, pop, and push count for the fused	// filter in the STEADY state	int steadyPop = first.steady.num * first.filter.getPopInt();	int steadyPeek = 	    (first.filter.getPeekInt() - first.filter.getPopInt()) + steadyPop;	int steadyPush = last.steady.num * last.filter.getPushInt();	SIRFilter result;	// if initWork is null, then we can get away with a filter for	// the fused result; otherwise we need a two-stage filter	if (initWork==null) {	    result = new SIRFilter(first.filter.getParent(),				   getFusedName(filterInfo),				   getFields(filterInfo),				   getMethods(filterInfo, 					      init, 					      initWork, 					      steadyWork),				   new JIntLiteral(steadyPeek), 				   new JIntLiteral(steadyPop),				   new JIntLiteral(steadyPush),				   steadyWork,				   Utils.voidToInt(first.filter.					     getInputType()),				   Utils.voidToInt(last.filter.					     getOutputType()));	} else {	    // calculate the peek, pop, and push count for the fused	    // filter in the INITIAL state	    int initPop = first.init.num * first.filter.getPopInt();	    int initPeek =		(first.filter.getPeekInt() - first.filter.getPopInt()) + initPop;	    int initPush = last.init.num * last.filter.getPushInt();	    	    System.out.println("New Stuff:"+initPush+" "+initPop+" "+initPeek);	    // make a new filter to represent the fused combo	    result = new SIRTwoStageFilter(first.filter.getParent(),					   getFusedName(filterInfo),					   getFields(filterInfo),					   getMethods(filterInfo, 						      init, 						      initWork, 						      steadyWork),					   new JIntLiteral(steadyPeek), 					   new JIntLiteral(steadyPop),					   new JIntLiteral(steadyPush),					   steadyWork,					   initPeek,					   initPop,					   initPush,					   initWork,					   Utils.voidToInt(first.filter.						     getInputType()),					   Utils.voidToInt(last.filter.						     getOutputType()));	}		// set init function of fused filter	result.setInit(init);	return result;    }