drawRowWithElements(row, cursorY, isRtl) {
    for (let i = 0, l = row.elements.length; i < l; i++) {
      const elem = row.elements[i];
      if (!elem) {
        console.warn('A row has an undefined or null element.', row, elem);
        continue;
      }
      if (Blockly.blockRendering.Types.isSpacer(elem)) {
        this.drawSpacerElem(
          /** @type {!Blockly.blockRendering.InRowSpacer} */ (elem),
          row.height,
          isRtl,
        );
      } else {
        this.drawRenderedElem(elem, isRtl);
      }
    }
    this.drawRenderedRow(row, cursorY, isRtl);
  }
Draw debug rectangles for a non-empty row and all of its subcomponents.
@param {!Blockly.blockRendering.Row} row The non-empty row to render.
@param {number} cursorY The y position of the top of the row.
@param {boolean} isRtl Whether the block is rendered RTL.
@protected