Program: 91885
Project: 91885
Buggy source:
/** 
 * Transforms coordinates from the files given in argument or from the standard input stream.
 */
@Override public int run() throws Exception {
  parseArguments();
  if (outputFormat == Format.XML) {
    final String format=outputFormat.name();
    throw new InvalidOptionException(Errors.format(Errors.Keys.IncompatibleFormat_2,"String_Node_Str",format),format);
  }
  operation=CRS.findOperation(fetchCRS(Option.SOURCE_CRS),fetchCRS(Option.TARGET_CRS),null);
  outHeader=new TableAppender(new LineAppender(out),"String_Node_Str");
  outHeader.setMultiLinesCells(true);
  printHeader(Vocabulary.Keys.Source);
  printNameAndIdentifier(operation.getSourceCRS());
  printHeader(Vocabulary.Keys.Destination);
  printNameAndIdentifier(operation.getTargetCRS());
  printHeader(Vocabulary.Keys.Methods);
  printOperationMethods(operation,false);
  outHeader.nextLine();
  if (options.containsKey(Option.VERBOSE)) {
    final WKTFormat f=new WKTFormat(locale,timezone);
    f.setConvention(options.containsKey(Option.DEBUG) ? Convention.INTERNAL : convention);
    if (colors) {
      f.setColors(Colors.DEFAULT);
    }
    final CharSequence[] lines=CharSequences.splitOnEOL(f.format(operation.getMathTransform()));
    for (int i=0; i < lines.length; i++) {
      if (i == 0) {
        printHeader(Vocabulary.Keys.Details);
      }
 else {
        printCommentLinePrefix();
        outHeader.nextColumn();
      }
      outHeader.append(lines[i]);
      outHeader.nextLine();
    }
  }
  double accuracy=CRS.getLinearAccuracy(operation);
  if (accuracy >= 0) {
    if (accuracy == 0) {
      accuracy=Formulas.LINEAR_TOLERANCE;
    }
    printHeader(Vocabulary.Keys.Accuracy);
    if (colors) {
      outHeader.append(X364.FOREGROUND_YELLOW.sequence());
    }
    outHeader.append(Double.toString(accuracy));
    if (colors) {
      outHeader.append(X364.FOREGROUND_DEFAULT.sequence());
    }
    outHeader.append("String_Node_Str");
    outHeader.nextLine();
  }
  outHeader.flush();
  outHeader=null;
  final boolean useStandardInput=useStandardInput();
  if (useStandardInput || !files.isEmpty()) {
    computeDomainOfValidity();
    ordinateWidth=15;
    coordinateFormat=NumberFormat.getInstance(Locale.US);
    coordinateFormat.setGroupingUsed(false);
    computeNumFractionDigits(operation.getTargetCRS().getCoordinateSystem());
    out.println();
    printAxes(operation.getTargetCRS().getCoordinateSystem());
    out.println();
    if (useStandardInput) {
      try (LineNumberReader in=new LineNumberReader(new InputStreamReader(System.in,encoding))){
        transform(in,"String_Node_Str");
      }
     }
 else {
      for (      final String file : files) {
        try (LineNumberReader in=new LineNumberReader(new InputStreamReader(new FileInputStream(file),encoding))){
          transform(in,file);
        }
       }
    }
  }
  return 0;
}

Fixed version (ground truth):
/** 
 * Transforms coordinates from the files given in argument or from the standard input stream.
 */
@Override public int run() throws Exception {
  parseArguments();
  if (outputFormat == Format.XML) {
    final String format=outputFormat.name();
    throw new InvalidOptionException(Errors.format(Errors.Keys.IncompatibleFormat_2,"String_Node_Str",format),format);
  }
  operation=CRS.findOperation(fetchCRS(Option.SOURCE_CRS),fetchCRS(Option.TARGET_CRS),null);
  outHeader=new TableAppender(new LineAppender(out),"String_Node_Str");
  outHeader.setMultiLinesCells(true);
  printHeader(Vocabulary.Keys.Source);
  printNameAndIdentifier(operation.getSourceCRS(),false);
  printHeader(Vocabulary.Keys.Destination);
  printNameAndIdentifier(operation.getTargetCRS(),false);
  printHeader(Vocabulary.Keys.Operations);
  printOperations(operation,false);
  outHeader.nextLine();
  if (options.containsKey(Option.VERBOSE)) {
    final WKTFormat f=new WKTFormat(locale,timezone);
    f.setConvention(options.containsKey(Option.DEBUG) ? Convention.INTERNAL : convention);
    if (colors) {
      f.setColors(Colors.DEFAULT);
    }
    final CharSequence[] lines=CharSequences.splitOnEOL(f.format(operation.getMathTransform()));
    for (int i=0; i < lines.length; i++) {
      if (i == 0) {
        printHeader(Vocabulary.Keys.Details);
      }
 else {
        printCommentLinePrefix();
        outHeader.nextColumn();
      }
      outHeader.append(lines[i]);
      outHeader.nextLine();
    }
  }
  double accuracy=CRS.getLinearAccuracy(operation);
  if (accuracy >= 0) {
    if (accuracy == 0) {
      accuracy=Formulas.LINEAR_TOLERANCE;
    }
    printHeader(Vocabulary.Keys.Accuracy);
    if (colors) {
      outHeader.append(X364.FOREGROUND_YELLOW.sequence());
    }
    outHeader.append(Double.toString(accuracy));
    if (colors) {
      outHeader.append(X364.FOREGROUND_DEFAULT.sequence());
    }
    outHeader.append("String_Node_Str");
    outHeader.nextLine();
  }
  outHeader.flush();
  outHeader=null;
  final boolean useStandardInput=useStandardInput();
  if (useStandardInput || !files.isEmpty()) {
    computeDomainOfValidity();
    ordinateWidth=15;
    coordinateFormat=NumberFormat.getInstance(Locale.US);
    coordinateFormat.setGroupingUsed(false);
    computeNumFractionDigits(operation.getTargetCRS().getCoordinateSystem());
    out.println();
    printAxes(operation.getTargetCRS().getCoordinateSystem());
    out.println();
    if (useStandardInput) {
      try (LineNumberReader in=new LineNumberReader(new InputStreamReader(System.in,encoding))){
        transform(in,"String_Node_Str");
      }
     }
 else {
      for (      final String file : files) {
        try (LineNumberReader in=new LineNumberReader(new InputStreamReader(new FileInputStream(file),encoding))){
          transform(in,file);
        }
       }
    }
  }
  return 0;
}