code: function (id, context) {
              var scopeCounter;
  
              context = this._getContext(context);
  
              var scopeOrder = this._getScopeOrder(context);
  
              for (scopeCounter = 0; scopeCounter < scopeOrder.length; scopeCounter++) {
                  var scope = this._scopes[scopeOrder[scopeCounter]];
                  if (scope) {
                      var result = scope.get(id, context);
                      if (result !== undefined) {
                          var pref      = this.getPreference(id),
                              validator = pref && pref.validator;
                          if (!validator || validator(result)) {
                              if (pref && pref.type === "object") {
                                  result = _.extend({}, pref.initial, result);
                              }
                              return _.cloneDeep(result);
                          }
                      }
                  }
              }
          }
docs: Get the current value of a preference. The optional context provides a way to
  change scope ordering or the reference filename for path-based scopes.
  
  @param {string} id Name of the preference for which the value should be retrieved
  @param {Object|string=} context Optional context object or name of context to change the preference lookup