code: public static Keyword findFirstKeywordWithSameConflicts(final Keyword element, final Grammar grammar) {
  		final List<AbstractRule> conflicting = getConflictingLexerRules(element, grammar);
  		Keyword result = element;
  		Iterator<Keyword> iterator = Iterators.filter(
  				Iterators.filter(EcoreUtil.getAllContents(grammar, true), Keyword.class), new Predicate<Keyword>() {
  					@Override
  					public boolean apply(Keyword param) {
  						if (GrammarUtil.containingParserRule(param) == null)
  							return false;
  						final List<AbstractRule> otherConflicting = getConflictingLexerRules(param, grammar);
  						return otherConflicting != null && otherConflicting.equals(conflicting);
  					}
  				});
  		if (iterator.hasNext())
  			result = iterator.next();
  
  		return result;
  	}
docs: TODO think about super grammar