constructor(targetWorkspace) {
    super(targetWorkspace);

    /**
     * The SVG group containing notification circle that shows either the
     * total count of items or the number of items added since the backpack
     * flyout was last opened.
     * @type {?SVGElement}
     * @private
     */
    this.countSvg_ = null;

    /**
     * The SVG text for the notification circle.
     * @type {SVGTextElement}
     * @private
     */
    this.countSvgText_ = null;

    /**
     * The CSS color to use on the count svg circle fill.
     * @type {string}
     * @private
     */
    this.countSvgColour_ = 'blue';

    /**
     * The CSS color to use on the count svg text.
     * @type {string}
     * @private
     */
    this.countSvgTextColour_ = 'white';

    /**
     * The backpack content added externally since the backpack was last opened,
     * stored as a list of XML (stored as strings) representing blocks.
     * Cleared on backpack open.
     * @type {!Array<string>}
     * @protected
     */
    this.cachedAddedContent_ = [];

    /**
     * The backpack content removed externally since the backpack was last
     * opened, stored as a list of XML (stored as strings) representing blocks.
     * Cleared on backpack open.
     * @type {!Array<string>}
     * @protected
     */
    this.cachedRemovedContent_ = [];

    /**
     * The notification count to display. Cleared on backpack open.
     * @type {number}
     * @private
     */
    this.notificationCount_ = 0;
  }
Constructor for a backpack.
@param {!Blockly.WorkspaceSvg} targetWorkspace The target workspace that
    the plugin will be added to.