docs: protected AstNode parseCreateDomainStatement( DdlTokenStream tokens,
                                                    AstNode parentNode ) throws ParsingException {
          assert tokens != null;
          assert parentNode != null;
  
          // <domain definition> ::=
          // CREATE DOMAIN <domain name>
          // [ AS ] <data type>
          // [ <default clause> ]
          // [ <domain constraint>... ]
          // [ <collate clause> ]
  
          markStartOfStatement(tokens);
  
          tokens.consume(STMT_CREATE_DOMAIN);
  
          String name = parseName(tokens);
          AstNode node = nodeFactory().node(name, parentNode, TYPE_CREATE_DOMAIN_STATEMENT);
  
          tokens.canConsume("AS");
          DataType datatype = getDatatypeParser().parse(tokens);
          if (datatype != null) {
              getDatatypeParser().setPropertiesOnNode(node, datatype);
              parseDefaultClause(tokens, node);
          }
  
          parseUntilTerminator(tokens);
  
          markEndOfStatement(tokens, node);
  
          return node;
      }