Program: 72950
Project: 72950
Buggy source:
public void getfire(ResultHandler<Iterable<Event.Builder>> resultHandler) throws CollectionAbortedException {
  try {
    if (_debugging) {
      _debug("String_Node_Str");
    }
    Schedule schedule=getScheduler().getSchedule();
    int iterationCount=0;
    do {
      Iterator firingIterator=schedule.firingIterator();
      while (firingIterator.hasNext() && !_stopRequested) {
        Actor actor=((Firing)firingIterator.next()).getActor();
        if (!_actorsFinishedExecution.contains(actor)) {
          if (_isReadyToFire(actor)) {
            Event.Builder builder=makeEventBuilder(actor.getFullName());
            _nameToActor.put(builder.getName(),actor);
            _events.add(builder);
          }
 else {
            if (_debugging) {
              if (!_actorsFinishedFiring.contains(actor) && actor.isStrict()) {
                _debug("String_Node_Str" + actor.getFullName());
              }
            }
          }
        }
 else {
          if (_debugging) {
            _debug("String_Node_Str" + actor.getFullName());
          }
          _sendAbsentToAllUnknownOutputsOf(actor);
        }
      }
      while (_events.size() > 0) {
        resultHandler.handleResult(_events);
        ArrayList<Event.Builder> tmp_events=new ArrayList<Event.Builder>();
        for (        Builder etb : _events) {
          if (etb.getName().contains("String_Node_Str") && etb.getStatus() == Event.Status.NOTIFIED) {
            Actor actor=_nameToActor.get(etb.getName());
            if (_debugging) {
              _debug("String_Node_Str" + actor.getFullName());
            }
            _fireActor(actor);
            _actorsFired.add(actor);
          }
 else {
            tmp_events.add(etb);
          }
        }
        _events=tmp_events;
      }
      iterationCount++;
    }
 while (!_hasIterationConverged() && !_stopRequested);
    if (_debugging) {
      _debug(this.getFullName() + "String_Node_Str" + iterationCount+ "String_Node_Str");
    }
  }
 catch (  IllegalActionException e1) {
    e1.printStackTrace();
  }
}

Fixed version (ground truth):
public void getfire(ResultHandler<Iterable<Event.Builder>> resultHandler) throws CollectionAbortedException {
  try {
    if (_debugging) {
      _debug("String_Node_Str");
    }
    Schedule schedule=getScheduler().getSchedule();
    int iterationCount=0;
    do {
      Iterator firingIterator=schedule.firingIterator();
      while (firingIterator.hasNext() && !_stopRequested) {
        Actor actor=((Firing)firingIterator.next()).getActor();
        if (!_actorsFinishedExecution.contains(actor)) {
          if (_isReadyToFire(actor)) {
            Event.Builder builder=makeEventBuilder(actor.getFullName());
            _nameToActor.put(builder.getName(),actor);
            _events.add(builder);
          }
 else {
            if (_debugging) {
              if (!_actorsFinishedFiring.contains(actor) && actor.isStrict()) {
                _debug("String_Node_Str" + actor.getFullName());
              }
            }
          }
        }
 else {
          if (_debugging) {
            _debug("String_Node_Str" + actor.getFullName());
          }
          _sendAbsentToAllUnknownOutputsOf(actor);
        }
      }
      while (_events.size() > 0) {
        resultHandler.handleResult(_events);
        ArrayList<Event.Builder> tmp_events=new ArrayList<Event.Builder>();
        for (        Builder etb : _events) {
          if (etb.getStatus() == Event.Status.NOTIFIED) {
            Actor actor=_nameToActor.get(etb.getName());
            if (_debugging) {
              _debug("String_Node_Str" + actor.getFullName());
            }
            _fireActor(actor);
            _actorsFired.add(actor);
          }
 else {
            tmp_events.add(etb);
          }
        }
        _events=tmp_events;
      }
      iterationCount++;
    }
 while (!_hasIterationConverged() && !_stopRequested);
    if (_debugging) {
      _debug(this.getFullName() + "String_Node_Str" + iterationCount+ "String_Node_Str");
    }
  }
 catch (  IllegalActionException e1) {
    e1.printStackTrace();
  }
}