code: function (data, context) {
              if (!data) {
                  return;
              }
  
              // do not upset other layers if context for the this one is not specified
              if (!_.isEmpty(context)) {
                  if (data[context.language]) {
                      return _.keys(data[context.language]);
                  } else {
                      return [];
                  }
              } else {
                  return _.union.apply(null, _.map(_.values(data), _.keys));
              }
          }
docs: Retrieves the keys provided by this layer object. If the context is
  empty, it will return all the keys provided in all the layerIDs
  (languages).
  
  @param {Object} data the preference data from the Scope
  @param {{language: string}} context Context to operate with
  @return {Array<{string}>|undefined} An array of pref ids