void sendDmEventOrIfEventToTasks(TezEvent tezEvent, int srcTaskIndex,
boolean isDataMovementEvent,
Map<Integer, List<Integer>> ifInputIndicesToTaskIndices) {
int num = 0;
Event event = tezEvent.getEvent();
for (Map.Entry<Integer, List<Integer>> entry : ifInputIndicesToTaskIndices.entrySet()) {
++num;
TezEvent tezEventToSend = null;
if (num == ifInputIndicesToTaskIndices.size()) {
if (isDataMovementEvent) {
((DataMovementEvent) event).setTargetIndex(entry.getKey().intValue());
} else {
((InputFailedEvent) event).setTargetIndex(entry.getKey().intValue());
}
tezEventToSend = tezEvent;
} else {
Event e;
if (isDataMovementEvent) {
DataMovementEvent dmEvent = (DataMovementEvent) event;
e = new DataMovementEvent(dmEvent.getSourceIndex(),
entry.getKey().intValue(), dmEvent.getVersion(), dmEvent.getUserPayload());
} else {