}while(!counters.checkAllZero());
}while(true);
    public static SwitchScheduleNode simulate(FlatNode top)     {	counters = new SimulationCounterPop();		SwitchScheduleNode first = new SwitchScheduleNode();	SwitchScheduleNode current, temp;	current = first;		//check if this is the last downstream stream	if (top.inputs == 0) {	    return first;	}			do {	    //Since top is guaranteed to be a filter, it has	    //only one connection	    simulateDataItem(top.incoming[0], current);	    temp = new SwitchScheduleNode();	    current.next = temp;	    current = temp;	}while(!counters.checkAllZero());		return first;    }