Program: 190594
Project: 190594
Buggy source:
/** 
 * @param patternBegin	part of the grammar string containing endings for1st and 2nd person
 * @param patternEndint	part of the grammar string containing endings for3rd parson in present and past
 * @param lemmaEnd		required ending for the lemma to apply this rule
 * @param paradigmId	paradigm ID to set if rule matched
 * @param positiveFlags	flags to set if rule pattern and lemma endingmatched
 * @param alwaysFlags	flags to set if rule pattern matched
 */
public VerbRule(String patternBegin,String patternEnd,String lemmaEnd,int paradigmId,String[] positiveFlags,String[] alwaysFlags){
  String[] alwaysFlags3p;
  if (alwaysFlags != null) {
    alwaysFlags3p=Arrays.copyOf(alwaysFlags,alwaysFlags.length + 1);
    alwaysFlags3p[alwaysFlags3p.length - 1]="String_Node_Str";
  }
 else   alwaysFlags3p=new String[]{"String_Node_Str"};
  String begin=patternBegin.trim();
  String end=patternEnd.trim();
  String allPersonPattern=begin + "String_Node_Str" + end;
  String thirdPersonPattern;
  if (end.endsWith("String_Node_Str"))   thirdPersonPattern="String_Node_Str" + end.substring(0,end.length() - 1) + "String_Node_Str";
 else   if (end.endsWith("String_Node_Str"))   thirdPersonPattern="String_Node_Str" + end.substring(0,end.length() - 1) + "String_Node_Str";
 else {
    System.err.printf("String_Node_Str",allPersonPattern);
    thirdPersonPattern=allPersonPattern;
  }
  allPersonRule=new SimpleRule(allPersonPattern,lemmaEnd,paradigmId,positiveFlags,alwaysFlags);
  thirdPersonRule=new SimpleRule(thirdPersonPattern,lemmaEnd,paradigmId,positiveFlags,alwaysFlags3p);
}

Fixed version (ground truth):
/** 
 * @param patternBegin	part of the grammar string containing endings for1st and 2nd person
 * @param patternEndint	part of the grammar string containing endings for3rd parson in present and past
 * @param lemmaEnd		required ending for the lemma to apply this rule
 * @param paradigmId	paradigm ID to set if rule matched
 * @param positiveFlags	flags to set if rule pattern and lemma endingmatched
 * @param alwaysFlags	flags to set if rule pattern matched
 */
public VerbRule(String patternBegin,String patternEnd,String lemmaEnd,int paradigmId,String[] positiveFlags,String[] alwaysFlags){
  String[] alwaysFlags3p;
  if (alwaysFlags != null) {
    alwaysFlags3p=Arrays.copyOf(alwaysFlags,alwaysFlags.length + 1);
    alwaysFlags3p[alwaysFlags3p.length - 1]="String_Node_Str";
  }
 else   alwaysFlags3p=new String[]{"String_Node_Str"};
  String begin=patternBegin.trim();
  String end=patternEnd.trim();
  String allPersonPattern=begin + "String_Node_Str" + end;
  String thirdPersonPattern;
  if (end.endsWith("String_Node_Str"))   thirdPersonPattern="String_Node_Str" + end.substring(0,end.length() - 1) + "String_Node_Str";
 else   if (end.endsWith("String_Node_Str"))   thirdPersonPattern="String_Node_Str" + end.substring(0,end.length() - 2) + "String_Node_Str";
 else {
    System.err.printf("String_Node_Str",allPersonPattern);
    thirdPersonPattern=allPersonPattern;
  }
  allPersonRule=new SimpleRule(allPersonPattern,lemmaEnd,paradigmId,positiveFlags,alwaysFlags);
  thirdPersonRule=new SimpleRule(thirdPersonPattern,lemmaEnd,paradigmId,positiveFlags,alwaysFlags3p);
}