drawSpacerRow(row, cursorY, isRtl) {
    if (!DebugDrawer.config.rowSpacers) {
      return;
    }

    const height = Math.abs(row.height);
    const isNegativeSpacing = row.height < 0;
    if (isNegativeSpacing) {
      cursorY -= height;
    }

    this.debugElements_.push(
      Blockly.utils.dom.createSvgElement(
        'rect',
        {
          'class': 'rowSpacerRect blockRenderDebug',
          'x': isRtl ? -(row.xPos + row.width) : row.xPos,
          'y': cursorY,
          'width': row.width,
          'height': height,
          'stroke': isNegativeSpacing ? 'black' : 'blue',
          'fill': 'blue',
          'fill-opacity': '0.5',
          'stroke-width': '1px',
        },
        this.svgRoot_,
      ),
    );
  }
Draw a debug rectangle for a spacer (empty) row.
@param {!Blockly.blockRendering.Row} row The 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