docs: protected AstNode parseCreateIndex( DdlTokenStream tokens,
                                          AstNode parentNode ) throws ParsingException {
          assert tokens != null;
          assert parentNode != null;
  
          markStartOfStatement(tokens);
          // CREATE [UNIQUE] INDEX index-Name
          // ON table-Name ( Simple-column-Name [ ASC | DESC ] [ , Simple-column-Name [ ASC | DESC ]] * )
          tokens.consume(CREATE); // CREATE
  
          boolean isUnique = tokens.canConsume("UNIQUE");
  
          tokens.consume("INDEX");
          String indexName = parseName(tokens);
          tokens.consume("ON");
          String tableName = parseName(tokens);
  
          AstNode indexNode = nodeFactory().node(indexName, parentNode, TYPE_CREATE_INDEX_STATEMENT);
  
          indexNode.setProperty(UNIQUE_INDEX, isUnique);
          indexNode.setProperty(TABLE_NAME, tableName);
  
          parseIndexTableColumns(tokens, indexNode);
  
          parseUntilTerminator(tokens);
  
          markEndOfStatement(tokens, indexNode);
  
          return indexNode;
      }