Program: 31358
Project: 31358
Buggy source:
private Double safelyParse(String context,String input) throws ValidationException {
  if (StringUtils.isEmpty(input)) {
    if (allowNull) {
      return null;
    }
    throw new ValidationException(context + "String_Node_Str","String_Node_Str" + context + "String_Node_Str"+ input,context);
  }
  String canonical=null;
  try {
    canonical=encoder.canonicalize(input);
  }
 catch (  EncodingException e) {
    throw new ValidationException(context + "String_Node_Str","String_Node_Str",e,context);
  }
  if (minValue > maxValue) {
    throw new ValidationException(context + "String_Node_Str","String_Node_Str" + maxValue + "String_Node_Str"+ minValue+ "String_Node_Str"+ context,context);
  }
  Double d;
  try {
    d=Double.valueOf(Double.parseDouble(canonical));
  }
 catch (  NumberFormatException e) {
    throw new ValidationException(context + "String_Node_Str","String_Node_Str" + context + "String_Node_Str"+ input,e,context);
  }
  if (d.isInfinite()) {
    throw new ValidationException("String_Node_Str" + context,"String_Node_Str" + context + "String_Node_Str"+ input,context);
  }
  if (d.isNaN()) {
    throw new ValidationException("String_Node_Str" + context,"String_Node_Str" + context + "String_Node_Str"+ input,context);
  }
  if (d.doubleValue() < minValue) {
    throw new ValidationException("String_Node_Str" + minValue + "String_Node_Str"+ maxValue+ "String_Node_Str"+ context,"String_Node_Str" + minValue + "String_Node_Str"+ maxValue+ "String_Node_Str"+ context+ "String_Node_Str"+ input,context);
  }
  if (d.doubleValue() > maxValue) {
    throw new ValidationException("String_Node_Str" + minValue + "String_Node_Str"+ maxValue+ "String_Node_Str"+ context,"String_Node_Str" + minValue + "String_Node_Str"+ maxValue+ "String_Node_Str"+ context+ "String_Node_Str"+ input,context);
  }
  return d;
}

Fixed version (ground truth):
private Double safelyParse(String context,String input) throws ValidationException {
  if (StringUtilities.isEmpty(input)) {
    if (allowNull) {
      return null;
    }
    throw new ValidationException(context + "String_Node_Str","String_Node_Str" + context + "String_Node_Str"+ input,context);
  }
  String canonical=null;
  try {
    canonical=encoder.canonicalize(input);
  }
 catch (  EncodingException e) {
    throw new ValidationException(context + "String_Node_Str","String_Node_Str",e,context);
  }
  if (minValue > maxValue) {
    throw new ValidationException(context + "String_Node_Str","String_Node_Str" + maxValue + "String_Node_Str"+ minValue+ "String_Node_Str"+ context,context);
  }
  Double d;
  try {
    d=Double.valueOf(Double.parseDouble(canonical));
  }
 catch (  NumberFormatException e) {
    throw new ValidationException(context + "String_Node_Str","String_Node_Str" + context + "String_Node_Str"+ input,e,context);
  }
  if (d.isInfinite()) {
    throw new ValidationException("String_Node_Str" + context,"String_Node_Str" + context + "String_Node_Str"+ input,context);
  }
  if (d.isNaN()) {
    throw new ValidationException("String_Node_Str" + context,"String_Node_Str" + context + "String_Node_Str"+ input,context);
  }
  if (d.doubleValue() < minValue) {
    throw new ValidationException("String_Node_Str" + minValue + "String_Node_Str"+ maxValue+ "String_Node_Str"+ context,"String_Node_Str" + minValue + "String_Node_Str"+ maxValue+ "String_Node_Str"+ context+ "String_Node_Str"+ input,context);
  }
  if (d.doubleValue() > maxValue) {
    throw new ValidationException("String_Node_Str" + minValue + "String_Node_Str"+ maxValue+ "String_Node_Str"+ context,"String_Node_Str" + minValue + "String_Node_Str"+ maxValue+ "String_Node_Str"+ context+ "String_Node_Str"+ input,context);
  }
  return d;
}