docs: StatementDMQL compileCursorSpecification() {
  
          QueryExpression queryExpression = XreadQueryExpression();
  
          queryExpression.setAsTopLevel();
          queryExpression.resolve(session);
          if (token.tokenType == Tokens.FOR) {
              read();
  
              if (token.tokenType == Tokens.READ) {
                  read();
                  readThis(Tokens.ONLY);
              } else {
                  readThis(Tokens.UPDATE);
  
                  if (token.tokenType == Tokens.OF) {
                      readThis(Tokens.OF);
  
                      OrderedHashSet colNames = readColumnNameList(null, false);
                  }
              }
          }
  
          StatementDMQL cs = new StatementQuery(session, queryExpression,
                                                compileContext);
  
          return cs;
      }