public static @NotNull ParserDefinition.SpaceRequirements canStickTokensTogetherByLexer(@NotNull ASTNode left,
                                                                                          @NotNull ASTNode right,
                                                                                          @NotNull Lexer lexer) {
    String textStr = left.getText() + right.getText();

    lexer.start(textStr, 0, textStr.length());
    if (lexer.getTokenType() != left.getElementType() || lexer.getTokenEnd() != left.getTextLength()) {
      return ParserDefinition.SpaceRequirements.MUST;
    }

    lexer.advance();
    if (lexer.getTokenEnd() != textStr.length() || lexer.getTokenType() != right.getElementType()) {
      return ParserDefinition.SpaceRequirements.MUST;
    }

    return ParserDefinition.SpaceRequirements.MAY;
  }
public static @NotNull ParserDefinition.SpaceRequirements canStickTokensTogetherByLexer(@NotNull ASTNode left,
                                                                                          @NotNull ASTNode right,
                                                                                          @NotNull Lexer lexer)