hunk.code_window:                    selector: Function = undefined,
                      scheduler: Scheduler = immediate): Function {
       return (...args): Observable<T> => {
         return new BoundCallbackObservable(callbackFunc, ctx, selector, args, scheduler);
       };
     }
     constructor(private callbackFunc: Function,
  
hunk.labels: keep keep keep replace keep keep keep keep
hunk.after_edit:       return new BoundCallbackObservable(callbackFunc, selector, args, scheduler);
  
hunk.file_path: src/observable/bindCallback.ts
hunk.type: replace
file: var RxOld = require('rx');
  var RxNew = require('../../../../index');
  
  module.exports = function (suite) {
    var oldShareWithImmediateScheduler = RxOld.Observable.range(0, 25, RxOld.Scheduler.immediate).share();
    var newShareWithImmediateScheduler = RxNew.Observable.range(0, 25).share();
  
    function _next(x) { }
    function _error(e) { }
    function _complete() { }
    return suite
      .add('old share with immediate scheduler', function () {
        oldShareWithImmediateScheduler.subscribe(_next, _error, _complete);
      })
      .add('new share with immediate scheduler', function () {
        newShareWithImmediateScheduler.subscribe(_next, _error, _complete);
      });
  };