decrementExecutionCounts(fire, executionCounts);
decrementExecutionCounts(fire, executionCounts, counters);
    private int fireJoiner(FlatNode fire, SimulationCounter counters, HashMap executionCounts)    {	//	System.out.println("Firing " + fire.contents.getName());	//The joiner is passing a data item, record this as an execution	decrementExecutionCounts(fire, executionCounts);		//else, this joiner fired because it has data that can be sent downstream	JoinerScheduleNode current = new JoinerScheduleNode();	current.buffer = counters.getJoinerBuffer(fire);	current.type = JoinerScheduleNode.FIRE;	addJoinerCode(fire, current);		//decrement the buffer	counters.decrementJoinerBufferCount(fire, counters.getJoinerBuffer(fire));	//step the schedule	counters.incrementJoinerSchedule(fire);	return 1;    }