code: function (data, oldContext, newContext) {
              var newGlob = _findMatchingGlob(data,
                                FileUtils.getRelativeFilename(this.prefFilePath, newContext[this.key])),
                  oldGlob = _findMatchingGlob(data,
                                FileUtils.getRelativeFilename(this.prefFilePath, oldContext[this.key]));
  
              if (newGlob === oldGlob) {
                  return;
              }
              if (newGlob === undefined) {
                  return _.keys(data[oldGlob]);
              }
              if (oldGlob === undefined) {
                  return _.keys(data[newGlob]);
              }
  
              return _.union(_.keys(data[oldGlob]), _.keys(data[newGlob]));
          }
docs: Determines if there are preference IDs that could change as a result of
  a change in the context. This implementation considers only the path portion
  of the context and looks up matching globes if any.
  
  @param {Object} data Data in the Scope
  @param {{path: string}} oldContext Old context
  @param {{path: string}} newContext New context
  @return {Array.<string>} list of preference IDs that could have changed