refresh(mapping) {

    if (!type.watcherMapping(mapping))
      throw makeError('Baobab.watch: invalid mapping.', {mapping});

    this.mapping = mapping;

    // Creating the get method
    const projection = {};

    for (const k in mapping)
      projection[k] = mapping[k] instanceof Cursor ?
        mapping[k].path :
        mapping[k];

    this.get = this.tree.project.bind(this.tree, projection);
  }
Method used to refresh the watcher's mapping.

@param  {object}  mapping  - The new mapping to apply.
@return {Watcher}          - Itself for chaining purposes.