Program: 72692
Project: 72692
Buggy source:
/** 
 * If <i>executeEmbeddedCode</i> is true, then generate and compile the code (if necessary), and then execute the initialize() method of the generated code. Otherwise, delegate to the superclass, which initializes this actor like an ordinary composite actor.
 * @exception IllegalActionException If there is no director, orif the director's initialize() method throws it, or if the actor is not opaque.
 */
public void initialize() throws IllegalActionException {
  super.initialize();
  boolean invoked=((BooleanToken)executeEmbeddedCode.getToken()).booleanValue();
  if (invoked) {
    if (_generatedCodeVersion != _workspace.getVersion()) {
      _updateSanitizedActorName();
      if (_buildSharedObjectFile()) {
        if (_loadedCodeVersion != -1) {
          _updateSanitizedActorName();
        }
        String generatorPackageString=generatorPackage.getExpression();
        if (generatorPackageString.equals("String_Node_Str")) {
          _generateAndCompileJNICode();
        }
        _generateAndCompileEmbeddedCode();
        _generatedCodeVersion=_workspace.getVersion();
      }
      if (_generatedCodeVersion == -1) {
        _generatedCodeVersion=_workspace.getVersion();
      }
      if (_loadedCodeVersion != _generatedCodeVersion) {
        String className=_sanitizedActorName;
        URL url=null;
        URLClassLoader classLoader=null;
        Class<?> classInstance=null;
        try {
          url=codeDirectory.asFile().toURI().toURL();
          URL[] urls=new URL[]{url};
          classLoader=new URLClassLoader(urls);
          classInstance=classLoader.loadClass(className);
        }
 catch (        ClassNotFoundException ex) {
          throw new IllegalActionException(this,ex,"String_Node_Str" + url + "String_Node_Str"+ className+ "String_Node_Str"+ "String_Node_Str");
        }
catch (        MalformedURLException ex) {
          throw new IllegalActionException(this,ex,"String_Node_Str" + url + "String_Node_Str"+ className+ "String_Node_Str");
        }
catch (        UnsupportedClassVersionError ex) {
          throw new IllegalActionException(this,ex,"String_Node_Str" + className + "String_Node_Str"+ url+ "String_Node_Str"+ className+ "String_Node_Str"+ url+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
        }
catch (        Throwable ex) {
          throw new IllegalActionException(this,ex,"String_Node_Str" + className + "String_Node_Str"+ url+ "String_Node_Str");
        }
 finally {
          if (classLoader != null) {
            try {
              classLoader.close();
            }
 catch (            IOException ex) {
              throw new IllegalActionException(this,ex,"String_Node_Str" + (url == null ? "String_Node_Str" : url) + "String_Node_Str");
            }
          }
        }
        try {
          _objectWrapper=classInstance.newInstance();
        }
 catch (        Throwable throwable) {
          throw new IllegalActionException(this,throwable,"String_Node_Str");
        }
        Method[] methods=classInstance.getMethods();
        for (        Method method : methods) {
          String name=method.getName();
          if (name.equals("String_Node_Str")) {
            _fireMethod=method;
          }
 else           if (name.equals("String_Node_Str")) {
            _initializeMethod=method;
          }
 else           if (name.equals("String_Node_Str")) {
            _wrapupMethod=method;
          }
        }
        if (_fireMethod == null) {
          throw new IllegalActionException(this,"String_Node_Str" + "String_Node_Str");
        }
        if (_initializeMethod == null) {
          throw new IllegalActionException(this,"String_Node_Str" + "String_Node_Str");
        }
        if (_wrapupMethod == null) {
          throw new IllegalActionException(this,"String_Node_Str" + "String_Node_Str");
        }
        _loadedCodeVersion=_workspace.getVersion();
      }
    }
    try {
      _initializeMethod.invoke(_objectWrapper,(Object[])null);
    }
 catch (    Throwable throwable) {
      System.out.println("String_Node_Str" + _initializeMethod + "String_Node_Str"+ throwable.getCause());
      throw new IllegalActionException(this,throwable,"String_Node_Str" + _initializeMethod + "String_Node_Str"+ "String_Node_Str");
    }
  }
}

Fixed version (ground truth):
/** 
 * If <i>executeEmbeddedCode</i> is true, then generate and compile the code (if necessary), and then execute the initialize() method of the generated code. Otherwise, delegate to the superclass, which initializes this actor like an ordinary composite actor.
 * @exception IllegalActionException If there is no director, orif the director's initialize() method throws it, or if the actor is not opaque.
 */
public void initialize() throws IllegalActionException {
  super.initialize();
  boolean invoked=((BooleanToken)executeEmbeddedCode.getToken()).booleanValue();
  if (invoked) {
    if (_generatedCodeVersion != _workspace.getVersion()) {
      _updateSanitizedActorName();
      if (_buildSharedObjectFile()) {
        if (_loadedCodeVersion != -1) {
          _updateSanitizedActorName();
        }
        String generatorPackageString=generatorPackage.getExpression();
        if (generatorPackageString.equals("String_Node_Str")) {
          _generateAndCompileJNICode();
        }
        _generateAndCompileEmbeddedCode();
        _generatedCodeVersion=_workspace.getVersion();
      }
      if (_generatedCodeVersion == -1) {
        _generatedCodeVersion=_workspace.getVersion();
      }
      if (_loadedCodeVersion != _generatedCodeVersion) {
        String className=_sanitizedActorName;
        URL url=null;
        URLClassLoader classLoader=null;
        Class<?> classInstance=null;
        try {
          try {
            url=codeDirectory.asFile().toURI().toURL();
            URL[] urls=new URL[]{url};
            classLoader=new URLClassLoader(urls);
            classInstance=classLoader.loadClass(className);
          }
 catch (          ClassNotFoundException ex) {
            throw new IllegalActionException(this,ex,"String_Node_Str" + url + "String_Node_Str"+ className+ "String_Node_Str"+ "String_Node_Str");
          }
catch (          MalformedURLException ex) {
            throw new IllegalActionException(this,ex,"String_Node_Str" + url + "String_Node_Str"+ className+ "String_Node_Str");
          }
catch (          UnsupportedClassVersionError ex) {
            throw new IllegalActionException(this,ex,"String_Node_Str" + className + "String_Node_Str"+ url+ "String_Node_Str"+ className+ "String_Node_Str"+ url+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
          }
catch (          Throwable ex) {
            throw new IllegalActionException(this,ex,"String_Node_Str" + className + "String_Node_Str"+ url+ "String_Node_Str");
          }
          try {
            _objectWrapper=classInstance.newInstance();
          }
 catch (          Throwable throwable) {
            throw new IllegalActionException(this,throwable,"String_Node_Str");
          }
          Method[] methods=classInstance.getMethods();
          for (          Method method : methods) {
            String name=method.getName();
            if (name.equals("String_Node_Str")) {
              _fireMethod=method;
            }
 else             if (name.equals("String_Node_Str")) {
              _initializeMethod=method;
            }
 else             if (name.equals("String_Node_Str")) {
              _wrapupMethod=method;
            }
          }
          if (_fireMethod == null) {
            throw new IllegalActionException(this,"String_Node_Str" + "String_Node_Str");
          }
          if (_initializeMethod == null) {
            throw new IllegalActionException(this,"String_Node_Str" + "String_Node_Str");
          }
          if (_wrapupMethod == null) {
            throw new IllegalActionException(this,"String_Node_Str" + "String_Node_Str");
          }
          _loadedCodeVersion=_workspace.getVersion();
        }
  finally {
          if (classLoader != null) {
            try {
              classLoader.close();
            }
 catch (            IOException ex) {
              throw new IllegalActionException(this,ex,"String_Node_Str" + (url == null ? "String_Node_Str" : url) + "String_Node_Str");
            }
          }
        }
      }
    }
    try {
      _initializeMethod.invoke(_objectWrapper,(Object[])null);
    }
 catch (    Throwable throwable) {
      System.out.println("String_Node_Str" + _initializeMethod + "String_Node_Str"+ throwable.getCause());
      throw new IllegalActionException(this,throwable,"String_Node_Str" + _initializeMethod + "String_Node_Str"+ "String_Node_Str");
    }
  }
}