docs: private Expression readCastExpression() {
  
          boolean isConvert = token.tokenType == Tokens.CONVERT;
  
          read();
          readThis(Tokens.OPENBRACKET);
  
          Expression l = this.XreadValueExpressionOrNull();
  
          if (isConvert) {
              readThis(Tokens.COMMA);
          } else {
              readThis(Tokens.AS);
          }
  
          Type typeObject = readTypeDefinition(true);
  
          if (l.isParam()) {
              l.setDataType(session, typeObject);
          }
  
          l = new ExpressionOp(l, typeObject);
  
          readThis(Tokens.CLOSEBRACKET);
  
          return l;
      }