code: function __resolveProperties(sources, propertyNames) {
    var r = {};
    var length = sources.length;
    propertyNames.forEach(function (pn) {
      for (var i = 0; i < length; i++) {
        var src = sources[i];
        if (src) {
          var val = src[pn];
          if (val !== undefined) {
            r[pn] = val;
            break;
          }
        }
      }
    });
    return r;
  }
docs: resolves the values of a list of properties by checking each property in multiple sources until a value is found.