public static WhitespacesAndCommentsBinder trailingCommentsBinder(@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;
      }
    };
  }
public static WhitespacesAndCommentsBinder trailingCommentsBinder(@NotNull TokenSet commentTypes)