Program: 51878
Project: 51878
Buggy source:
/** 
 * When invoked as a command-line tool, updates handle prefix
 * @param args the command-line arguments, none used
 * @throws java.lang.Exception
 */
public static void main(String[] args) throws Exception {
  if (args.length < 2) {
    System.out.println("String_Node_Str");
    System.exit(1);
  }
 else {
    HandleService handleService=HandleServiceFactory.getInstance().getHandleService();
    String oldH=args[0];
    String newH=args[1];
    System.out.println("String_Node_Str");
    Context context=new Context();
    long count=handleService.countHandlesByPrefix(context,oldH);
    if (count > 0) {
      System.out.println("String_Node_Str" + count + "String_Node_Str"+ ((count > 1) ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str"+ newH+ "String_Node_Str"+ oldH+ "String_Node_Str");
      System.out.print("String_Node_Str" + "String_Node_Str" + "String_Node_Str");
      BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
      String choiceString=input.readLine();
      if (choiceString.equalsIgnoreCase("String_Node_Str")) {
        try {
          log.info("String_Node_Str" + oldH + "String_Node_Str"+ newH);
          System.out.print("String_Node_Str");
          int updHdl=handleService.updateHandlesWithNewPrefix(context,newH,oldH);
          System.out.println(updHdl + "String_Node_Str" + ((updHdl > 1) ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str");
          System.out.print("String_Node_Str");
          MetadataValueService metadataValueService=ContentServiceFactory.getInstance().getMetadataValueService();
          List<MetadataValue> metadataValues=metadataValueService.findByValueLike(context,"String_Node_Str");
          int updMeta=metadataValues.size();
          for (          MetadataValue metadataValue : metadataValues) {
            metadataValue.setValue("String_Node_Str" + newH);
            metadataValueService.update(context,metadataValue,true);
          }
          System.out.println(updMeta + "String_Node_Str" + ((updMeta > 1) ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str");
          context.complete();
          log.info("String_Node_Str" + "String_Node_Str" + updHdl + "String_Node_Str"+ ((updHdl > 1) ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str"+ updMeta+ "String_Node_Str"+ ((updMeta > 1) ? "String_Node_Str" : "String_Node_Str"));
        }
 catch (        SQLException sqle) {
          if ((context != null) && (context.isValid())) {
            context.abort();
            context=null;
          }
          System.out.println("String_Node_Str");
          throw sqle;
        }
        System.out.println("String_Node_Str");
        System.out.println("String_Node_Str");
        try {
          IndexClient.main(new String[]{"String_Node_Str"});
          System.out.println("String_Node_Str");
          System.out.println("String_Node_Str");
        }
 catch (        Exception e) {
          System.out.println("String_Node_Str");
          System.out.println("String_Node_Str" + "String_Node_Str" + "String_Node_Str");
          throw e;
        }
      }
 else {
        System.out.println("String_Node_Str");
      }
    }
 else {
      System.out.println("String_Node_Str");
    }
  }
}

Fixed version (ground truth):
/** 
 * When invoked as a command-line tool, updates handle prefix
 * @param args the command-line arguments, none used
 * @throws java.lang.Exception
 */
public static void main(String[] args) throws Exception {
  if (args.length < 2) {
    System.out.println("String_Node_Str");
    System.exit(1);
  }
 else {
    HandleService handleService=HandleServiceFactory.getInstance().getHandleService();
    String oldH=args[0];
    String newH=args[1];
    System.out.println("String_Node_Str");
    Context context=new Context();
    long count=handleService.countHandlesByPrefix(context,oldH);
    if (count > 0) {
      System.out.println("String_Node_Str" + count + "String_Node_Str"+ ((count > 1) ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str"+ newH+ "String_Node_Str"+ oldH+ "String_Node_Str");
      System.out.print("String_Node_Str" + "String_Node_Str" + "String_Node_Str");
      BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
      String choiceString=input.readLine();
      if (choiceString.equalsIgnoreCase("String_Node_Str")) {
        context.turnOffAuthorisationSystem();
        try {
          log.info("String_Node_Str" + oldH + "String_Node_Str"+ newH);
          System.out.print("String_Node_Str");
          int updHdl=handleService.updateHandlesWithNewPrefix(context,newH,oldH);
          System.out.println(updHdl + "String_Node_Str" + ((updHdl > 1) ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str");
          System.out.print("String_Node_Str");
          MetadataValueService metadataValueService=ContentServiceFactory.getInstance().getMetadataValueService();
          List<MetadataValue> metadataValues=metadataValueService.findByValueLike(context,"String_Node_Str");
          int updMeta=metadataValues.size();
          for (          MetadataValue metadataValue : metadataValues) {
            metadataValue.setValue("String_Node_Str" + newH);
            metadataValueService.update(context,metadataValue,true);
          }
          System.out.println(updMeta + "String_Node_Str" + ((updMeta > 1) ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str");
          context.complete();
          log.info("String_Node_Str" + "String_Node_Str" + updHdl + "String_Node_Str"+ ((updHdl > 1) ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str"+ updMeta+ "String_Node_Str"+ ((updMeta > 1) ? "String_Node_Str" : "String_Node_Str"));
        }
 catch (        SQLException sqle) {
          if ((context != null) && (context.isValid())) {
            context.abort();
            context=null;
          }
          System.out.println("String_Node_Str");
          throw sqle;
        }
        System.out.println("String_Node_Str");
        System.out.println("String_Node_Str");
        try {
          IndexClient.main(new String[]{"String_Node_Str"});
          System.out.println("String_Node_Str");
          System.out.println("String_Node_Str");
        }
 catch (        Exception e) {
          System.out.println("String_Node_Str");
          System.out.println("String_Node_Str" + "String_Node_Str" + "String_Node_Str");
          throw e;
        }
        context.restoreAuthSystemState();
      }
 else {
        System.out.println("String_Node_Str");
      }
    }
 else {
      System.out.println("String_Node_Str");
    }
  }
}