Program: 75805
Project: 75805
Buggy source:
/** 
 * Ensure that the source code for this ClassDecl is loaded, and pass 0 resolution is completed on it. If the source already has been loaded, do nothing.  Otherwise, if the class is a JVM system class, or a Ptolemy class, or we can load  the class file using a class loader, then attempt to perform shallow loading of the AST (we must first ensure that the class file can be loaded in case we need to perform shallow-to-deep conversion later). If we cannot load the class file, parse the Java source to obtain a full AST.
 * @exception IOException If we can't get the canonicalname of the test library.
 * @exception FileNotFoundException If we can't find the source file.
 */
public void loadSource() throws IOException {
  if (_source == null) {
    _source=AbsentTreeNode.instance;
    String fileName=fullName('.');
    if (SearchPath.systemClassSet.contains(fileName) || SearchPath.ptolemyCoreClassSet.contains(fileName)) {
      if (StaticResolution.traceLoading) {
        System.out.println("String_Node_Str" + "String_Node_Str" + fileName + "String_Node_Str");
      }
      StaticResolution.loadClassName(fileName,0);
      if (_source == AbsentTreeNode.instance) {
        throw new RuntimeException("String_Node_Str" + fullName());
      }
    }
 else {
      if (StaticResolution.traceLoading)       System.out.println("String_Node_Str" + fullName());
      Class loadedClass=null;
      if (StaticResolution.shallowLoadingEnabled() && StaticResolution.enableDeepUserASTs) {
        try {
          loadedClass=Class.forName(fullName());
        }
 catch (        Exception exception) {
        }
        if (loadedClass == null) {
          JavaClassLoader classLoader=new JavaClassLoader();
          if (StaticResolution.traceLoading)           System.out.println("String_Node_Str" + "String_Node_Str" + fullName() + "String_Node_Str"+ "String_Node_Str");
          try {
            loadedClass=classLoader.loadClass(fullName());
          }
 catch (          ClassNotFoundException exception) {
            System.out.println("String_Node_Str");
          }
        }
        if (loadedClass != null) {
          CompileUnitNode loadedAST=ASTReflect.ASTCompileUnitNode(loadedClass);
          _source=NodeUtil.getDefinedType(loadedAST);
          if (loadedAST == null)           throw new NullPointerException("String_Node_Str" + "String_Node_Str" + fullName() + "String_Node_Str"+ "String_Node_Str"+ loadedClass.getClass().getName()+ "String_Node_Str");
 else {
            _source=NodeUtil.getDefinedType(loadedAST);
            loadedAST.setProperty(IDENT_KEY,fullName());
            JavaParserManip.allParsedMap.put(fullName(),loadedAST);
            StaticResolution.loadCompileUnit(loadedAST,0);
          }
        }
      }
      if (loadedClass == null) {
        if (StaticResolution.traceLoading)         System.out.println("String_Node_Str" + "String_Node_Str" + fullName());
        File file=_pickLibrary(_container).openSource(fileName);
        StaticResolution.loadFile(file,0,fullName());
      }
      if ((_source == null) || (_source == AbsentTreeNode.instance)) {
        throw new RuntimeException("String_Node_Str" + fileName + "String_Node_Str"+ fullName());
      }
    }
    if (StaticResolution.traceLoading)     System.out.println("String_Node_Str" + fullName());
  }
}

Fixed version (ground truth):
/** 
 * Ensure that the source code for this ClassDecl is loaded, and pass 0 resolution is completed on it. If the source already has been loaded, do nothing.  Otherwise, if the class is a JVM system class, or a Ptolemy class, or we can load  the class file using a class loader, then attempt to perform shallow loading of the AST (we must first ensure that the class file can be loaded in case we need to perform shallow-to-deep conversion later). If we cannot load the class file, parse the Java source to obtain a full AST.
 * @exception IOException If we can't get the canonicalname of the test library.
 * @exception FileNotFoundException If we can't find the source file.
 */
public void loadSource() throws IOException {
  if (_source == null) {
    _source=AbsentTreeNode.instance;
    String fileName=fullName('.');
    if (SearchPath.systemClassSet.contains(fileName) || SearchPath.ptolemyCoreClassSet.contains(fileName)) {
      if (StaticResolution.traceLoading) {
        System.out.println("String_Node_Str" + "String_Node_Str" + fileName + "String_Node_Str");
      }
      StaticResolution.loadClassName(fileName,0);
      if (_source == AbsentTreeNode.instance) {
        throw new RuntimeException("String_Node_Str" + fullName());
      }
    }
 else {
      if (StaticResolution.traceLoading)       System.out.println("String_Node_Str" + fullName());
      Class loadedClass=null;
      if (StaticResolution.shallowLoadingEnabled() && StaticResolution.enableDeepUserASTs) {
        try {
          loadedClass=Class.forName(fullName());
        }
 catch (        Exception exception) {
        }
        if (loadedClass == null) {
          JavaClassLoader classLoader=new JavaClassLoader();
          if (StaticResolution.traceLoading)           System.out.println("String_Node_Str" + "String_Node_Str" + fullName() + "String_Node_Str"+ "String_Node_Str");
          try {
            loadedClass=classLoader.loadClass(fullName());
          }
 catch (          ClassNotFoundException exception) {
            System.out.println("String_Node_Str");
          }
        }
        if (loadedClass != null) {
          CompileUnitNode loadedAST=ASTReflect.ASTCompileUnitNode(loadedClass);
          if (loadedAST == null)           throw new NullPointerException("String_Node_Str" + "String_Node_Str" + fullName() + "String_Node_Str"+ "String_Node_Str"+ loadedClass.getClass().getName()+ "String_Node_Str");
 else {
            _source=NodeUtil.getSingleDefinedType(loadedAST);
            loadedAST.setProperty(IDENT_KEY,fullName());
            JavaParserManip.allParsedMap.put(fullName(),loadedAST);
            StaticResolution.loadCompileUnit(loadedAST,0);
          }
        }
      }
      if (loadedClass == null) {
        if (StaticResolution.traceLoading)         System.out.println("String_Node_Str" + "String_Node_Str" + fullName());
        File file=_pickLibrary(_container).openSource(fileName);
        StaticResolution.loadFile(file,0,fullName());
      }
      if ((_source == null) || (_source == AbsentTreeNode.instance)) {
        throw new RuntimeException("String_Node_Str" + fileName + "String_Node_Str"+ fullName());
      }
    }
    if (StaticResolution.traceLoading)     System.out.println("String_Node_Str" + fullName());
  }
}