fillExecutionCounts(rep.getOriginalSchedule(), counts);
fillExecutionCounts(rep.getOriginalSchedule(), counts, scheduler);
    private static void fillExecutionCounts(Object schedObject, HashMap counts)     {	if (schedObject instanceof List) {	    //visit all of the elements	    for (ListIterator it = ((List)schedObject).listIterator();		 it.hasNext(); ) {		fillExecutionCounts(it.next(), counts);	    }	} else if (schedObject instanceof SchedRepSchedule) {    	    // get the schedRep	    SchedRepSchedule rep = (SchedRepSchedule)schedObject;	    ///===========================================BIG INT?????	    for(int i = 0; i < rep.getTotalExecutions().intValue(); i++)		fillExecutionCounts(rep.getOriginalSchedule(), counts);	} else {	    //do not count splitter	    if (schedObject instanceof SIRSplitter)		return;	    //add one to the count for this node	    FlatNode fnode = FlatNode.getFlatNode((SIROperator)schedObject);	    if (!counts.containsKey(fnode))		counts.put(fnode, new Integer(1));	    else {		//add one to counter		int old = ((Integer)counts.get(fnode)).intValue();		counts.put(fnode, new Integer(old + 1));	    }	    	}    }