docs: protected AstNode parseCreateTableStatement( DdlTokenStream tokens,
                                                   AstNode parentNode ) throws ParsingException {
          assert tokens != null;
          assert parentNode != null;
  
          markStartOfStatement(tokens);
  
          tokens.consume(CREATE); // CREATE
          String temporaryValue = null;
          if (tokens.canConsume("LOCAL")) {
              tokens.consume("TEMPORARY");
              temporaryValue = "LOCAL";
          } else if (tokens.canConsume("GLOBAL")) {
              tokens.consume("TEMPORARY");
              temporaryValue = "GLOBAL";
          }
  
          tokens.consume(TABLE);
  
          String tableName = parseName(tokens);
  
          AstNode tableNode = nodeFactory().node(tableName, parentNode, TYPE_CREATE_TABLE_STATEMENT);
  
          if (temporaryValue != null) {
              tableNode.setProperty(TEMPORARY, temporaryValue);
          }
  
          // System.out.println("  >> PARSING CREATE TABLE >>  Name = " + tableName);
          parseColumnsAndConstraints(tokens, tableNode);
  
          parseCreateTableOptions(tokens, tableNode);
  
          markEndOfStatement(tokens, tableNode);
  
          return tableNode;
      }