Program: 44553
Project: 44553
Buggy source:
/** 
 * Creates a string format.
 * @param format the format.
 * @return the string format.
 */
public static StringFormatValidator withTranslation(final String format,final String translationFormat){
  final StringFormatValidator result=new StringFormatValidator(format);
  final StringFormatValidator translationResult=new StringFormatValidator(translationFormat);
  try {
    result.init();
    result.validate();
  }
 catch (  RuntimeException e) {
    if (result.isValid()) {
      result.valid=false;
      result.setDetailMessage("String_Node_Str",format,e.getMessage());
    }
  }
  try {
    translationResult.init();
    translationResult.validate();
  }
 catch (  RuntimeException e) {
    if (translationResult.isValid()) {
      translationResult.valid=false;
      translationResult.setDetailMessage("String_Node_Str",format,e.getMessage());
    }
  }
  if (!result.isValid())   return result;
  if (!translationResult.isValid())   return translationResult;
  final List<StringFormatPart> initParts=sortParts(result.formats);
  final List<StringFormatPart> translationParts=sortParts(translationResult.formats);
  if (initParts.size() == translationParts.size()) {
    final Iterator<StringFormatPart> initIter=initParts.iterator();
    final Iterator<StringFormatPart> translationIter=translationParts.iterator();
    while (initIter.hasNext()) {
      final StringFormatPart initPart=initIter.next();
      final StringFormatPart translationPart=translationIter.next();
      if (initPart.conversion() != translationPart.conversion()) {
        result.valid=false;
        result.setDetailMessage("String_Node_Str",translationFormat,format);
        result.setSummaryMessage("String_Node_Str");
        break;
      }
    }
  }
 else {
    result.valid=false;
    result.setDetailMessage("String_Node_Str",translationFormat,format);
    result.setSummaryMessage("String_Node_Str");
  }
  return result;
}

Fixed version (ground truth):
/** 
 * Creates a string format. <p/> <b>Note:</b> The validator returned is the validator for the translation format.
 * @param format            the format.
 * @param translationFormat the format of the translation
 * @return the string format.
 */
public static StringFormatValidator withTranslation(final String format,final String translationFormat){
  final StringFormatValidator result=new StringFormatValidator(format);
  final StringFormatValidator translationResult=new StringFormatValidator(translationFormat);
  try {
    result.init();
    result.validate();
  }
 catch (  RuntimeException e) {
    if (result.isValid()) {
      result.valid=false;
      result.setDetailMessage("String_Node_Str",format,e.getMessage());
    }
  }
  try {
    translationResult.init();
    translationResult.validate();
  }
 catch (  RuntimeException e) {
    if (translationResult.isValid()) {
      translationResult.valid=false;
      translationResult.setDetailMessage("String_Node_Str",format,e.getMessage());
    }
  }
  if (!result.isValid())   return result;
  if (!translationResult.isValid())   return translationResult;
  final List<StringFormatPart> initParts=sortParts(result.formats);
  final List<StringFormatPart> translationParts=sortParts(translationResult.formats);
  if (initParts.size() == translationParts.size()) {
    final Iterator<StringFormatPart> initIter=initParts.iterator();
    final Iterator<StringFormatPart> translationIter=translationParts.iterator();
    while (initIter.hasNext()) {
      final StringFormatPart initPart=initIter.next();
      final StringFormatPart translationPart=translationIter.next();
      if (initPart.conversion() != translationPart.conversion()) {
        translationResult.valid=false;
        translationResult.setDetailMessage("String_Node_Str",translationFormat,format);
        translationResult.setSummaryMessage("String_Node_Str");
        break;
      }
    }
  }
 else {
    translationResult.valid=false;
    translationResult.setDetailMessage("String_Node_Str",translationFormat,format);
    translationResult.setSummaryMessage("String_Node_Str");
  }
  return translationResult;
}