Program: 52156
Project: 52156
Buggy source:
/** 
 * Simple command-line rig for testing the DIM output of a stylesheet. Usage:  java XSLTDisseminationCrosswalk  <crosswalk-name> <handle> [output-file]
 */
public static void main(String[] argv) throws Exception {
  log.error("String_Node_Str");
  if (argv.length < 2 || argv.length > 3) {
    System.err.println("String_Node_Str");
    log.error("String_Node_Str");
    System.exit(1);
  }
  String xwalkname=argv[0];
  String handle=argv[1];
  OutputStream out=System.out;
  if (argv.length > 2) {
    try {
      out=new FileOutputStream(argv[2]);
    }
 catch (    FileNotFoundException e) {
      System.err.println("String_Node_Str" + e.getMessage());
      System.err.println("String_Node_Str");
    }
  }
  DisseminationCrosswalk xwalk=(DisseminationCrosswalk)PluginManager.getNamedPlugin(DisseminationCrosswalk.class,xwalkname);
  if (xwalk == null) {
    System.err.println("String_Node_Str" + xwalkname + "String_Node_Str");
    log.error("String_Node_Str");
    System.exit(1);
  }
  context=new Context();
  context.turnOffAuthorisationSystem();
  DSpaceObject dso=null;
  try {
    dso=HandleManager.resolveToObject(context,handle);
  }
 catch (  SQLException e) {
    System.err.println("String_Node_Str");
    System.exit(1);
  }
  if (null == dso) {
    System.err.println("String_Node_Str" + handle + "String_Node_Str");
    System.exit(1);
  }
  if (!xwalk.canDisseminate(dso)) {
    System.err.println("String_Node_Str");
    log.error("String_Node_Str");
    System.exit(1);
  }
  Element root=null;
  try {
    root=xwalk.disseminateElement(dso);
  }
 catch (  Exception e) {
    System.err.println("String_Node_Str");
    System.err.println("String_Node_Str");
    System.err.println(e.getMessage());
    System.err.println("String_Node_Str");
    System.err.println(e.getStackTrace());
    System.err.println("String_Node_Str");
    log.error("String_Node_Str" + e.toString() + "String_Node_Str");
    log.error(e.getMessage());
    log.error(e.getStackTrace());
    System.exit(1);
  }
  try {
    XMLOutputter xmlout=new XMLOutputter(Format.getPrettyFormat());
    xmlout.output(new Document(root),out);
  }
 catch (  Exception e) {
    System.err.println("String_Node_Str");
    System.err.println("String_Node_Str");
    System.err.println("String_Node_Str");
    System.err.println(e.getMessage());
    System.err.println("String_Node_Str");
    System.err.println(e.getStackTrace());
    System.err.println("String_Node_Str");
    log.error("String_Node_Str" + e.toString() + "String_Node_Str");
    log.error(e.getMessage());
    log.error(e.getStackTrace());
    System.exit(1);
  }
  context.complete();
  if (out instanceof FileOutputStream) {
    out.close();
  }
}

Fixed version (ground truth):
/** 
 * Simple command-line rig for testing the DIM output of a stylesheet. Usage:  java XSLTDisseminationCrosswalk  <crosswalk-name> <handle> [output-file]
 */
public static void main(String[] argv) throws Exception {
  log.error("String_Node_Str");
  if (argv.length < 2 || argv.length > 3) {
    System.err.println("String_Node_Str");
    log.error("String_Node_Str");
    System.exit(1);
  }
  String xwalkname=argv[0];
  String handle=argv[1];
  OutputStream out=System.out;
  if (argv.length > 2) {
    try {
      out=new FileOutputStream(argv[2]);
    }
 catch (    FileNotFoundException e) {
      System.err.println("String_Node_Str" + e.getMessage());
      System.err.println("String_Node_Str");
    }
  }
  DisseminationCrosswalk xwalk=(DisseminationCrosswalk)PluginManager.getNamedPlugin(DisseminationCrosswalk.class,xwalkname);
  if (xwalk == null) {
    System.err.println("String_Node_Str" + xwalkname + "String_Node_Str");
    log.error("String_Node_Str");
    System.exit(1);
  }
  context=new Context();
  context.turnOffAuthorisationSystem();
  DSpaceObject dso=null;
  try {
    dso=HandleManager.resolveToObject(context,handle);
  }
 catch (  SQLException e) {
    System.err.println("String_Node_Str");
    System.exit(1);
  }
  if (null == dso) {
    System.err.println("String_Node_Str" + handle + "String_Node_Str");
    System.exit(1);
  }
  if (!xwalk.canDisseminate(dso)) {
    System.err.println("String_Node_Str");
    log.error("String_Node_Str");
    System.exit(1);
  }
  Element root=null;
  try {
    root=xwalk.disseminateElement(dso);
  }
 catch (  Exception e) {
    System.err.println("String_Node_Str");
    System.err.println("String_Node_Str");
    System.err.println(e.getMessage());
    System.err.println("String_Node_Str");
    e.printStackTrace();
    System.err.println("String_Node_Str");
    log.error("String_Node_Str" + e.toString() + "String_Node_Str");
    log.error(e.getMessage());
    log.error(e.getStackTrace());
    System.exit(1);
  }
  try {
    XMLOutputter xmlout=new XMLOutputter(Format.getPrettyFormat());
    xmlout.output(new Document(root),out);
  }
 catch (  Exception e) {
    System.err.println("String_Node_Str");
    System.err.println("String_Node_Str");
    System.err.println("String_Node_Str");
    System.err.println(e.getMessage());
    System.err.println("String_Node_Str");
    System.err.println(e.getStackTrace());
    System.err.println("String_Node_Str");
    log.error("String_Node_Str" + e.toString() + "String_Node_Str");
    log.error(e.getMessage());
    log.error(e.getStackTrace());
    System.exit(1);
  }
  context.complete();
  if (out instanceof FileOutputStream) {
    out.close();
  }
}