Program: 73369
Project: 73369
Buggy source:
/** 
 * Parse a command-line argument.
 * @param arg The command-line argument to be parsed.
 * @return True if the argument is understood, false otherwise.
 * @exception Exception If something goes wrong.
 */
protected boolean _parseArg(String arg) throws Exception {
  if (arg.equals("String_Node_Str")) {
    _expectingClass=true;
  }
 else   if (arg.equals("String_Node_Str")) {
    _exit=true;
  }
 else   if (arg.equals("String_Node_Str")) {
    System.out.println(_usage());
    StringUtilities.exit(0);
  }
 else   if (arg.equals("String_Node_Str")) {
    _printPDF=true;
  }
 else   if (arg.equals("String_Node_Str")) {
    _run=true;
  }
 else   if (arg.equals("String_Node_Str")) {
    _run=true;
    _exit=true;
  }
 else   if (arg.equals("String_Node_Str")) {
    _run=true;
    _run20x=true;
    _exit=true;
    Manager.minimumStatisticsTime=1;
  }
 else   if (arg.equals("String_Node_Str")) {
    _statistics=true;
  }
 else   if (arg.equals("String_Node_Str")) {
    _test=true;
  }
 else   if (arg.equals("String_Node_Str")) {
    System.out.println("String_Node_Str" + VersionAttribute.CURRENT_VERSION.getExpression() + "String_Node_Str");
    StringUtilities.exit(0);
  }
 else   if (arg.equals("String_Node_Str")) {
  }
 else {
    if (_expectingClass) {
      _expectingClass=false;
      Class newClass=Class.forName(arg);
      Workspace workspace=new Workspace();
      Class[] argTypes=new Class[1];
      argTypes[0]=workspace.getClass();
      Constructor constructor=newClass.getConstructor(argTypes);
      Object[] args=new Object[1];
      args[0]=workspace;
      NamedObj newModel=(NamedObj)constructor.newInstance(args);
      System.out.println("String_Node_Str" + _configuration);
      if (_configuration != null) {
        _openModel(newModel);
      }
 else {
        System.err.println("String_Node_Str");
        throw new IllegalActionException(newModel,"String_Node_Str");
      }
    }
 else {
      if (!arg.startsWith("String_Node_Str")) {
        URL inURL;
        try {
          inURL=specToURL(arg);
        }
 catch (        Exception ex) {
          try {
            File inFile=new File(arg);
            inURL=inFile.toURI().toURL();
          }
 catch (          Exception ex2) {
            if (StringUtilities.inApplet()) {
              inURL=new URL(arg);
            }
 else {
              inURL=new URL(new URL("String_Node_Str"),arg);
            }
          }
        }
        URL base=inURL;
        if (_configuration != null) {
          ModelDirectory directory=(ModelDirectory)_configuration.getEntity("String_Node_Str");
          if (directory == null) {
            throw new InternalErrorException("String_Node_Str");
          }
          String key=inURL.toExternalForm();
          _openModel(base,inURL,key);
        }
 else {
          _parser.reset();
          try {
            System.out.println("String_Node_Str");
            _configuration=readConfiguration(inURL);
          }
 catch (          Exception ex) {
            String detailMessage="String_Node_Str";
            try {
              if ((inURL.toString().indexOf("String_Node_Str") != -1) && (inURL.toString().indexOf("String_Node_Str") != -1)) {
                detailMessage="String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str";
              }
            }
 catch (            Exception ex2) {
            }
            throw new Exception("String_Node_Str" + inURL + "String_Node_Str"+ detailMessage,ex);
          }
        }
      }
 else {
        return false;
      }
    }
  }
  return true;
}

Fixed version (ground truth):
/** 
 * Parse a command-line argument.
 * @param arg The command-line argument to be parsed.
 * @return True if the argument is understood, false otherwise.
 * @exception Exception If something goes wrong.
 */
protected boolean _parseArg(String arg) throws Exception {
  if (arg.equals("String_Node_Str")) {
    _expectingClass=true;
  }
 else   if (arg.equals("String_Node_Str")) {
    _exit=true;
  }
 else   if (arg.equals("String_Node_Str")) {
    System.out.println(_usage());
    StringUtilities.exit(0);
  }
 else   if (arg.equals("String_Node_Str")) {
    _printPDF=true;
  }
 else   if (arg.equals("String_Node_Str")) {
    _run=true;
  }
 else   if (arg.equals("String_Node_Str")) {
    _run=true;
    _exit=true;
  }
 else   if (arg.equals("String_Node_Str")) {
    _run=true;
    _run20x=true;
    _exit=true;
    Manager.minimumStatisticsTime=1;
  }
 else   if (arg.equals("String_Node_Str")) {
    _statistics=true;
  }
 else   if (arg.equals("String_Node_Str")) {
    _test=true;
  }
 else   if (arg.equals("String_Node_Str")) {
    System.out.println("String_Node_Str" + VersionAttribute.CURRENT_VERSION.getExpression() + "String_Node_Str");
    StringUtilities.exit(0);
  }
 else   if (arg.equals("String_Node_Str")) {
  }
 else {
    if (_expectingClass) {
      _expectingClass=false;
      Class newClass=Class.forName(arg);
      Workspace workspace=new Workspace();
      Class[] argTypes=new Class[1];
      argTypes[0]=workspace.getClass();
      Constructor constructor=newClass.getConstructor(argTypes);
      Object[] args=new Object[1];
      args[0]=workspace;
      NamedObj newModel=(NamedObj)constructor.newInstance(args);
      System.out.println("String_Node_Str" + _configuration);
      if (_configuration != null) {
        _openModel(newModel);
      }
 else {
        System.err.println("String_Node_Str");
        throw new IllegalActionException(newModel,"String_Node_Str");
      }
    }
 else {
      if (!arg.startsWith("String_Node_Str")) {
        URL inURL;
        try {
          inURL=specToURL(arg);
        }
 catch (        IOException ex) {
          try {
            File inFile=new File(arg);
            inURL=inFile.toURI().toURL();
          }
 catch (          Throwable throwable) {
            if (StringUtilities.inApplet()) {
              inURL=new URL(arg);
            }
 else {
              inURL=new URL(new URL("String_Node_Str"),arg);
            }
          }
        }
        URL base=inURL;
        if (_configuration != null) {
          ModelDirectory directory=(ModelDirectory)_configuration.getEntity("String_Node_Str");
          if (directory == null) {
            throw new InternalErrorException("String_Node_Str");
          }
          String key=inURL.toExternalForm();
          _openModel(base,inURL,key);
        }
 else {
          _parser.reset();
          try {
            System.out.println("String_Node_Str");
            _configuration=readConfiguration(inURL);
          }
 catch (          Exception ex) {
            String detailMessage="String_Node_Str";
            try {
              if ((inURL.toString().indexOf("String_Node_Str") != -1) && (inURL.toString().indexOf("String_Node_Str") != -1)) {
                detailMessage="String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str";
              }
            }
 catch (            Throwable throwable) {
            }
            throw new Exception("String_Node_Str" + inURL + "String_Node_Str"+ detailMessage,ex);
          }
        }
      }
 else {
        return false;
      }
    }
  }
  return true;
}