constructor(view, options = {}) {

    if (view instanceof ViewAbstraction) {

      // bounce back the object we received
      return view;

    }

    this._registerPaths(view);

    if (options.isCreate) {

      if (!this.configTRef) {

        const name = utils.getRandomLabel({plural: true});
        this.configTRef = $tw.wiki.generateNewTitle(`${$tm.path.views}/${name}`);

      }

      this._createView(options);

    } else if (!ViewAbstraction.exists(this.getRoot())) { // no valid config path

      throw new ResourceNotFoundException('ViewAbstraction', view);

    }

  }
@param {string|ViewAbstraction|Tiddler} view - The view
@param {Object} options
@param {boolean} [options.isCreate] - True if the view should be created and override
    any existing view, false otherwise.