@Override public void enterColumn_name_set(Column_name_setContext ctx) { // we work on level 0 if (currentSelectLevel.value0 > 0) return; int start = ctx.getStart().getStartIndex() - 1; int stop = ctx.getStop().getStopIndex() + 2; if (start == stop) return; String statement = jql.substring(start, stop); String value = listener.onColumnNameSet(statement); if (value != null) { replace.add(new Triple<Token, Token, String>(ctx.start, ctx.stop, value)); } }