propagateFonts(pile) {
    const fontPile = []; // sequence of font objects to consider, order important

    // Note that this.elementOptions is not used here.
    this.addFontOptionsToPile(fontPile, pile);
    this.fontOptions = this.getBasicOptions(fontPile);

    // We set multifont values even if multi === false, for consistency (things break otherwise)
    for (let i = 0; i < multiFontStyle.length; ++i) {
      const mod = multiFontStyle[i];
      const modOptions = this.fontOptions[mod];
      const tmpMultiFontOptions = this.getFontOptions(fontPile, mod);

      // Copy over found values
      forEach(tmpMultiFontOptions, (option, n) => {
        modOptions[n] = option;
      });

      modOptions.size = Number(modOptions.size);
      modOptions.vadjust = Number(modOptions.vadjust);
    }
  }
Collapse the font options for the multi-font to single objects, from
the chain of option objects passed (the 'pile').
@param {Pile} pile  sequence of option objects to consider.
                    First item in list assumed to be the newly set options.