anchor.diff:        }
         _EventHandler._sendData(null,
                                 _receivePort,
  -                              _timers.firstEntry().element._wakeupTime);
  +                              _timers.first._wakeupTime);
       }
     }
   
  
positive.code:     _callback = null;
      _milliSeconds = 0;
      _wakeupTime = 0;
      _repeating = false;
    }
  
  
    // Cancels a set timer. The timer is removed from the timer list and if
    // the given timer is the earliest timer the native timer is reset.
    void cancel() {
      _clear();
      DoubleLinkedQueueEntry<_Timer> entry = _timers.firstEntry();
      DoubleLinkedQueueEntry<_Timer> first = _timers.firstEntry();
  
       while (entry != null) {
        if (identical(entry.element, this)) {
          entry.remove();
          if (first.element == this) {
            entry = _timers.firstEntry();
            _notifyEventHandler();
          }
          return;
        }
        entry = entry.nextEntry();
      }
    }
  
    void _advanceWakeupTime() {
      _wakeupTime += _milliSeconds;
    }
  
    // Adds a timer to the timer list and resets the native timer if it is the
    // earliest timer in the list.  Timers with the same wakeup time are enqueued
    // in order and notified in FIFO order.
    void _addTimerToList() {
      if (_callback != null) {
  
        DoubleLinkedQueueEntry<_Timer> entry = _timers.firstEntry();
        while (entry != null) {
          if (_wakeupTime < entry.element._wakeupTime) {
            entry.prepend(this);
            return;
          }
          entry = entry.nextEntry();
        }
        _timers.add(this);
      }
    }
  
  
  
negative.code:       return;
      }
  
      if (_timers.isEmpty) {
        // No pending timers: Close the receive port and let the event handler
        // know.
        if (_receivePort != null) {
  