getDimensionsFromLabel(ctx, selected, hover) {
    // NOTE: previously 'textSize' was not put in 'this' for Ellipse
    // TODO: examine the consequences.
    this.textSize = this.labelModule.getTextSize(ctx, selected, hover);
    let width = this.textSize.width;
    let height = this.textSize.height;

    const DEFAULT_SIZE = 14;
    if (width === 0) {
      // This happens when there is no label text set
      width = DEFAULT_SIZE; // use a decent default
      height = DEFAULT_SIZE; // if width zero, then height also always zero
    }

    return { width: width, height: height };
  }
Determine the dimensions to use for nodes with an internal label

Currently, these are: Circle, Ellipse, Database, Box
The other nodes have external labels, and will not call this method

If there is no label, decent default values are supplied.
@param {CanvasRenderingContext2D} ctx
@param {boolean} [selected]
@param {boolean} [hover]
@returns {{width:number, height:number}}