docs: Expression XreadExplicitRowValueConstructorOrNull() {
  
          Expression e;
  
          switch (token.tokenType) {
  
              case Tokens.OPENBRACKET : {
                  read();
  
                  int position = getPosition();
                  int brackets = readOpenBrackets();
  
                  switch (token.tokenType) {
  
                      case Tokens.TABLE :
                      case Tokens.VALUES :
                      case Tokens.SELECT :
                          rewind(position);
  
                          SubQuery sq = XreadSubqueryBody(false,
                                                          OpTypes.ROW_SUBQUERY);
  
                          readThis(Tokens.CLOSEBRACKET);
  
                          return new Expression(OpTypes.ROW_SUBQUERY, sq);
  
                      default :
                          rewind(position);
  
                          e = XreadRowElementList(true);
  
                          readThis(Tokens.CLOSEBRACKET);
  
                          return e;
                  }
              }
              case Tokens.ROW : {
                  read();
                  readThis(Tokens.OPENBRACKET);
  
                  e = XreadRowElementList(false);
  
                  readThis(Tokens.CLOSEBRACKET);
  
                  return e;
              }
          }
  
          return null;
      }