Program: 74313
Project: 74313
Buggy source:
/** 
 * Initialize parameters and the schedule listeners. Calculate minimum delays for ports on platforms according to Ptides.
 * @throws IllegalActionException Thrown if other actors than CompositeActors are used in this model or embedded directors of these CompositeActors are not TimedDirectors.
 */
public void initialize() throws IllegalActionException {
  super.initialize();
  _currentTime=new Time(this,0.0);
  _stopTime=new Time(this,((DoubleToken)stopTime.getToken()).doubleValue());
  CausalityInterfaceForComposites causalityInterface=(CausalityInterfaceForComposites)((CompositeActor)this.getContainer()).getCausalityInterface();
  Hashtable<Actor,List> table=new Hashtable<Actor,List>();
  List<Actor> actors=((CompositeEntity)getContainer()).deepEntityList();
  for (  Actor actor : actors) {
    if (actor instanceof CompositeActor) {
      CompositeActor compositeActor=(CompositeActor)actor;
      if (!(compositeActor.getDirector() instanceof TimedDirector)) {
        throw new IllegalActionException("String_Node_Str" + "String_Node_Str");
      }
      if (compositeActor.getDirector() instanceof PtidesEmbeddedDirector) {
        PtidesEmbeddedDirector director=(PtidesEmbeddedDirector)actor.getDirector();
        director._clockSyncronizationError=_clockSyncronizationError;
        director._networkDelay=_networkDelay;
        List<IOPort> inputPorts=compositeActor.inputPortList();
        for (        IOPort port : inputPorts) {
          System.out.println("String_Node_Str" + port + "String_Node_Str"+ ((RealDependency)causalityInterface.getMinimumDelay(port)).value());
        }
      }
      List<Actor> containedActors=compositeActor.entityList();
      table.put(actor,containedActors);
    }
 else {
      throw new IllegalActionException("String_Node_Str" + "String_Node_Str");
    }
  }
  if (_scheduleListeners != null) {
    Iterator listeners=_scheduleListeners.iterator();
    while (listeners.hasNext()) {
      ((ScheduleListener)listeners.next()).initialize(table);
    }
  }
}

Fixed version (ground truth):
/** 
 * Initialize parameters and the schedule listeners. Calculate minimum delays for ports on platforms according to Ptides.
 * @throws IllegalActionException Thrown if other actors than CompositeActors are used in this model or embedded directors of these CompositeActors are not TimedDirectors.
 */
public void initialize() throws IllegalActionException {
  super.initialize();
  _currentTime=new Time(this,0.0);
  _realStartTime=System.currentTimeMillis();
  _stopTime=new Time(this,((DoubleToken)stopTime.getToken()).doubleValue());
  CausalityInterfaceForComposites causalityInterface=(CausalityInterfaceForComposites)((CompositeActor)this.getContainer()).getCausalityInterface();
  Hashtable<Actor,List> table=new Hashtable<Actor,List>();
  List<Actor> actors=((CompositeEntity)getContainer()).deepEntityList();
  for (  Actor actor : actors) {
    if (actor instanceof CompositeActor) {
      CompositeActor compositeActor=(CompositeActor)actor;
      if (!(compositeActor.getDirector() instanceof TimedDirector)) {
        throw new IllegalActionException("String_Node_Str" + "String_Node_Str");
      }
      if (compositeActor.getDirector() instanceof PtidesEmbeddedDirector) {
        PtidesEmbeddedDirector director=(PtidesEmbeddedDirector)actor.getDirector();
        director._clockSyncronizationError=_clockSyncronizationError;
        director._networkDelay=_networkDelay;
        List<IOPort> inputPorts=compositeActor.inputPortList();
        for (        IOPort port : inputPorts) {
          System.out.println("String_Node_Str" + port + "String_Node_Str"+ ((RealDependency)causalityInterface.getMinimumDelay(port)).value());
        }
      }
      List<Actor> containedActors=compositeActor.entityList();
      table.put(actor,containedActors);
    }
 else {
      throw new IllegalActionException("String_Node_Str" + "String_Node_Str");
    }
  }
  if (_scheduleListeners != null) {
    Iterator listeners=_scheduleListeners.iterator();
    while (listeners.hasNext()) {
      ((ScheduleListener)listeners.next()).initialize(table);
    }
  }
}