code: protected Word<I> analyzeInconsistency(Inconsistency<I> incons) {
          int inputIdx = alphabet.getSymbolIndex(incons.getSymbol());
  
          Row<I> succRow1 = incons.getFirstRow().getSuccessor(inputIdx);
          Row<I> succRow2 = incons.getSecondRow().getSuccessor(inputIdx);
  
          int numSuffixes = table.getSuffixes().size();
  
          for (int i = 0; i < numSuffixes; i++) {
              D val1 = table.cellContents(succRow1, i), val2 = table.cellContents(succRow2, i);
              if (!Objects.equals(val1, val2)) {
                  I sym = alphabet.getSymbol(inputIdx);
                  Word<I> suffix = table.getSuffixes().get(i);
                  return suffix.prepend(sym);
              }
          }
  
          throw new IllegalArgumentException("Bogus inconsistency");
      }
docs: Analyzes an inconsistency. This analysis consists in determining the column in which the two successor rows
  differ.
  
  @param incons
  the inconsistency description
  
  @return the suffix to add in order to fix the inconsistency