constructor (params, doc, options = {}) {
    if (!params.converters) {
      throw new Error('"params.converters" is mandatory')
    }
    if (!doc) {
      throw new Error('"doc" is mandatory')
    }
    this.converters = params.converters
    this.idAttribute = params.idAttribute || 'id'
    this.options = options

    this._allConverters = []
    this._blockConverters = []
    this._propertyAnnotationConverters = []

    this.state = new DOMImporter.State()
    // initially start with the provided document instance
    this.state.doc = doc

    this._initialize()
  }
A generic base implementation for XML/HTML importers.

@param {object[]} params.converters a list of converters
@param {object[]} params.idAttribute the attribute to use as id
@param {Document} doc an empty document instance used to import into