if (element instanceof BnfReferenceOrToken || element instanceof BnfStringLiteralExpression) {
PsiReference reference = element.getTextRange().containsOffset(offset) ? null : element.getReference();
if (reference != null) {
String text = StringUtil.unquoteString(element.getText());
if (existing != null && existing.contains(text)) return;
lexer.start(text);
if (lexer.getTokenType() == BnfTypes.BNF_ID && lexer.getTokenEnd() == text.length()) {
result.addElement(LookupElementBuilder.create(text));
}
}
}