function pickByCallback(object, predicate) {
      var result = {};
      baseForIn(object, function(value, key, object) {
        if (predicate(value, key, object)) {
          result[key] = value;
        }
      });
      return result;
    }
Sets metadata for `func`.

**Note:** If this function becomes hot, i.e. is invoked a lot in a short
period of time, it will trip its breaker and transition to an identity function
to avoid garbage collection pauses in V8. See [V8 issue 2070](https://code.google.com/p/v8/issues/detail?id=2070)
for more details.

@private
@param {Function} func The function to associate metadata with.
@param {*} data The metadata.
@returns {Function} Returns `func`.