docs: private SQLExpression parseExpression(final SQLStatement sqlStatement) {
          String literals = lexerEngine.getCurrentToken().getLiterals();
          final int beginPosition = lexerEngine.getCurrentToken().getEndPosition() - literals.length();
          final SQLExpression expression = getExpression(literals, sqlStatement);
          lexerEngine.nextToken();
          if (lexerEngine.skipIfEqual(Symbol.DOT)) {
              String property = lexerEngine.getCurrentToken().getLiterals();
              lexerEngine.nextToken();
              return skipIfCompositeExpression(sqlStatement)
                      ? new SQLIgnoreExpression(lexerEngine.getInput().substring(beginPosition, lexerEngine.getCurrentToken().getEndPosition()))
                      : new SQLPropertyExpression(new SQLIdentifierExpression(literals), property);
          }
          if (lexerEngine.equalAny(Symbol.LEFT_PAREN)) {
              lexerEngine.skipParentheses(sqlStatement);
              skipRestCompositeExpression(sqlStatement);
              return new SQLIgnoreExpression(lexerEngine.getInput().substring(beginPosition,
                      lexerEngine.getCurrentToken().getEndPosition() - lexerEngine.getCurrentToken().getLiterals().length()).trim());
          }
          return skipIfCompositeExpression(sqlStatement)
                  ? new SQLIgnoreExpression(lexerEngine.getInput().substring(beginPosition, lexerEngine.getCurrentToken().getEndPosition())) : expression;
      }