code: function () {
      var self = this;
  
      if (self._stopped)
        return;
  
      // Yay, we get to forget about all the things we thought we had to fetch.
      self._needToFetch = new LocalCollection._IdMap;
      self._currentlyFetching = null;
      ++self._fetchGeneration;  // ignore any in-flight fetches
      self._registerPhaseChange(PHASE.QUERYING);
  
      // Defer so that we don't block.  We don't need finishIfNeedToPollQuery here
      // because SwitchedToQuery is not called in QUERYING mode.
      Meteor.defer(function () {
        self._runQuery();
        self._doneQuerying();
      });
    }
docs: In various circumstances, we may just want to stop processing the oplog and re-run the initial query, just as if we were a PollingObserveDriver.  This function may not block, because it is called from an oplog entry handler.  XXX We should call this when we detect that we've been in FETCHING for "too long".  XXX We should call this when we detect Mongo failover (since that might mean that some of the oplog entries we have processed have been rolled back). The Node Mongo driver is in the middle of a bunch of huge refactorings, including the way that it notifies you when primary changes. Will put off implementing this until driver 1.4 is out.