docs: protected AstNode parseStatement( DdlTokenStream tokens,
                                        String[] stmt_start_phrase,
                                        AstNode parentNode,
                                        String mixinType ) {
          CheckArg.isNotNull(tokens, "tokens");
          CheckArg.isNotNull(stmt_start_phrase, "stmt_start_phrase");
          CheckArg.isNotNull(parentNode, "parentNode");
          CheckArg.isNotNull(mixinType, "mixinType");
  
          markStartOfStatement(tokens);
          tokens.consume(stmt_start_phrase);
          AstNode result = parseIgnorableStatement(tokens, getStatementTypeName(stmt_start_phrase), parentNode, mixinType);
          markEndOfStatement(tokens, result);
  
          return result;
      }