docs: public final void markEndOfStatement( DdlTokenStream tokens,
                                            AstNode statementNode ) {
          if (!tokens.canConsume(getTerminator())) {
              // System.out.println("  WARNING:  Terminator NOT FOUND");
  
              // Check previous until
              // 1) find two sequential nodes that are not missing terminator nodes
              // 2) the node before the missing terminator is a valid schema child and
              // 3) we find a schema node that is ALSO missing a terminator BEFORE we find an invalid schema child OR a terminated
              // node.
  
              if (!setAsSchemaChildNode(statementNode, true)) {
                  missingTerminatorNode(getRootNode()); // Construct missing terminator node
              }
          } else {
              setAsSchemaChildNode(statementNode, false);
          }
  
          String source = tokens.getMarkedContent().trim();
          statementNode.setProperty(DDL_EXPRESSION, source);
          statementNode.setProperty(DDL_LENGTH, source.length());
          statementNode.setProperty(DDL_START_LINE_NUMBER, currentMarkedPosition.getLine());
          statementNode.setProperty(DDL_START_CHAR_INDEX, currentMarkedPosition.getIndexInContent());
          statementNode.setProperty(DDL_START_COLUMN_NUMBER, currentMarkedPosition.getColumn());
  
          testPrint("== >> SOURCE:\n" + source + "\n");
      }