function forInRight(object, callback, thisArg) {
      var pairs = [];

      forIn(object, function(value, key) {
        pairs.push(key, value);
      });

      var length = pairs.length;
      callback = baseCreateCallback(callback, thisArg, 3);
      while (length--) {
        if (callback(pairs[length--], pairs[length], object) === false) {
          break;
        }
      }
      return object;
    }
This method is like `_.forIn` except that it iterates over elements
of a `collection` in the opposite order.

@static
@memberOf _
@category Objects
@param {Object} object The object to iterate over.
@param {Function} [callback=identity] The function called per iteration.
@param {*} [thisArg] The `this` binding of `callback`.
@returns {Object} Returns `object`.
@example

function Shape() {
  this.x = 0;
  this.y = 0;
}

Shape.prototype.move = function(x, y) {
  this.x += x;
  this.y += y;
};

_.forInRight(new Shape, function(value, key) {
  console.log(key);
});
// => logs 'move', 'y', and 'x' assuming `_.forIn ` logs 'x', 'y', and 'move'