WhitespacesAndCommentsBinder (@NotNull TokenSet commentTypes) { return new WhitespacesAndCommentsBinder() { @Override public int getEdgePosition(List<? extends IElementType> tokens, boolean atStreamEdge, TokenTextGetter getter) { int i = tokens.size() - 1; while (i >= 0 && !commentTypes.contains(tokens.get(i))) { i--; } return i + 1; } }; }