code: function(behavior) {                                                                       // 362
      return function(obj, value, context) {                                                               // 363
        var result = {};                                                                                   // 364
        var iterator = value == null ? _.identity : lookupIterator(value);                                 // 365
        each(obj, function(value, index) {                                                                 // 366
          var key = iterator.call(context, value, index, obj);                                             // 367
          behavior(result, key, value);                                                                    // 368
        });                                                                                                // 369
        return result;                                                                                     // 370
      };                                                                                                   // 371
    }
docs: 359 360 An internal function used for aggregate "group by" operations.                                      // 361