scrubResume(rep, opts) {
    const traverse = require('traverse');
    const ignoreList = [];
    const privateList = [];
    const includePrivates = opts && opts.private;

    const scrubbed = traverse( rep ).map(function() { // [^1]
      if (!this.isLeaf) {
        if ((this.node.ignore === true) || (this.node.ignore === 'true')) {
          ignoreList.push(this.node);
          this.delete();
        } else if (((this.node.private === true) || (this.node.private === 'true')) && !includePrivates) {
          privateList.push(this.node);
          this.delete();
        }
      }
      if (_.isArray(this.node)) { // [^2]
        this.after(function() {
          this.update(_.compact(this.node));
        });
      }
    });

    return {
      scrubbed,
      ingoreList: ignoreList,
      privateList
    };
  }
Removes ignored or private fields from a resume object
  @returns an object with the following structure:
  {
    scrubbed: the processed resume object
    ignoreList: an array of ignored nodes that were removed
    privateList: an array of private nodes that were removed
  }