hunk.code_window:     }
       if (handler) {
         args.push(handler);
         callbackFunc.apply(ctx, args);
       }
     }
   }
  
hunk.labels: keep keep keep keep replace keep keep keep keep
hunk.after_edit:       callbackFunc.apply(this, args);
  
hunk.file_path: src/observable/bindCallback.ts
hunk.type: replace
file: var RxOld = require('rx');
  var RxNew = require('../../../../index');
  
  module.exports = function (suite) {
    var oldMergeMapWithCurrentThreadScheduler = RxOld.Observable.range(0, 25, RxOld.Scheduler.currentThread)
      .flatMap(RxOld.Observable.range(0, 25, RxOld.Scheduler.currentThread));
    var newMergeMapWithCurrentThreadScheduler = RxNew.Observable.range(0, 25, RxNew.Scheduler.immediate)
      .mergeMapTo(RxNew.Observable.range(0, 25, RxNew.Scheduler.immediate));
  
    function _next(x) { }
    function _error(e) { }
    function _complete() { }
    return suite
      .add('old mergeMap (Observable) with current thread scheduler', function () {
        oldMergeMapWithCurrentThreadScheduler.subscribe(_next, _error, _complete);
      })
      .add('new mergeMap (Observable) with current thread scheduler', function () {
        newMergeMapWithCurrentThreadScheduler.subscribe(_next, _error, _complete);
      });
  };