Program: 190596
Project: 190596
Buggy source:
public Word guessByEnding(String word){
  Word rezultāts=new Word(word);
  for (int i=word.length() - 3; i >= 0; i--) {
    for (    Ending ending : getAllEndings().matchedEndings(word))     if (ending.getEnding().length() == i) {
      if (ending.getParadigm().getName().equals("String_Node_Str"))       continue;
      ArrayList<Variants> celmi=Mijas.mijuVarianti(ending.stem(word),ending.getMija());
      if (celmi.size() == 0)       continue;
      String celms=celmi.get(0).celms;
      Wordform variants=new Wordform(word,null,ending);
      variants.addAttribute(AttributeNames.i_Source,"String_Node_Str");
      variants.addAttribute(AttributeNames.i_Guess,AttributeNames.v_Ending);
      Ending pamatforma=ending.getLemmaEnding();
      if (ending.getParadigm().getID() == 4 && !(celms.endsWith("String_Node_Str") || celms.endsWith("String_Node_Str")))       continue;
      if (pamatforma != null)       variants.addAttribute(AttributeNames.i_Lemma,celms + pamatforma.getEnding());
      if ((this.guessNouns && ending.getParadigm().isMatchingStrong(AttributeNames.i_PartOfSpeech,AttributeNames.v_Noun) && (enableVocative || !variants.isMatchingStrong(AttributeNames.i_Case,AttributeNames.v_Vocative))&& (guessInflexibeNouns || !variants.isMatchingStrong(AttributeNames.i_Declension,AttributeNames.v_NA))) || (this.guessVerbs && ending.getParadigm().isMatchingWeak(AttributeNames.i_PartOfSpeech,AttributeNames.v_Verb)) || (this.guessAdjectives && ending.getParadigm().isMatchingStrong(AttributeNames.i_PartOfSpeech,AttributeNames.v_Adjective))|| (this.guessParticibles && variants.isMatchingStrong(AttributeNames.i_Izteiksme,AttributeNames.v_Participle)))       rezultāts.wordforms.add(variants);
    }
    if (rezultāts.isRecognized() && !enableAllGuesses)     break;
  }
  return rezultāts;
}

Fixed version (ground truth):
public Word guessByEnding(String word){
  Word rezultāts=new Word(word);
  for (int i=word.length() - 3; i >= 0; i--) {
    for (    Ending ending : getAllEndings().matchedEndings(word))     if (ending.getEnding().length() == i) {
      if (ending.getParadigm().getName().equals("String_Node_Str"))       continue;
      ArrayList<Variants> celmi=Mijas.mijuVarianti(ending.stem(word),ending.getMija());
      if (celmi.size() == 0)       continue;
      String celms=celmi.get(0).celms;
      Wordform variants=new Wordform(word,null,ending);
      variants.addAttribute(AttributeNames.i_Source,"String_Node_Str");
      variants.addAttribute(AttributeNames.i_Guess,AttributeNames.v_Ending);
      Ending pamatforma=ending.getLemmaEnding();
      if (ending.getParadigm().getID() == 4 && !(celms.endsWith("String_Node_Str") || celms.endsWith("String_Node_Str")))       continue;
      if (pamatforma != null)       variants.addAttribute(AttributeNames.i_Lemma,celms + pamatforma.getEnding());
      if ((this.guessNouns && ending.getParadigm().isMatchingStrong(AttributeNames.i_PartOfSpeech,AttributeNames.v_Noun) && (enableVocative || !variants.isMatchingStrong(AttributeNames.i_Case,AttributeNames.v_Vocative))&& (guessInflexibleNouns || !variants.isMatchingStrong(AttributeNames.i_Declension,AttributeNames.v_NA))) || (this.guessVerbs && ending.getParadigm().isMatchingWeak(AttributeNames.i_PartOfSpeech,AttributeNames.v_Verb)) || (this.guessAdjectives && ending.getParadigm().isMatchingStrong(AttributeNames.i_PartOfSpeech,AttributeNames.v_Adjective))|| (this.guessParticibles && variants.isMatchingStrong(AttributeNames.i_Izteiksme,AttributeNames.v_Participle)))       rezultāts.wordforms.add(variants);
    }
    if (rezultāts.isRecognized() && !enableAllGuesses)     break;
  }
  return rezultāts;
}