/**
         *
         *  Called when the rollOverDelay Timer is up and we should show the drop down.
         */
        private void rollOverDelay_timerCompleteHandler(Event e)
        {
            OpenButton.RemoveEventListener(MouseEvent.ROLL_OUT, OpenButtonRollOutHandler);
            _rollOverOpenDelayTimer = null;

            OpenDropDownHelper();
        }
        /**
         *
         *  Called when the openButton's rollOut event is dispatched while waiting
         *  for the rollOverOpenDelay. This will cancel the timer so we don't open
         *  any more.
         */
        private void OpenButtonRollOutHandler(Event e)
        {
            if (null != _rollOverOpenDelayTimer && _rollOverOpenDelayTimer.IsRunning)
            {
                _rollOverOpenDelayTimer.Stop();
                _rollOverOpenDelayTimer = null;
            }

            OpenButton.RemoveEventListener(MouseEvent.ROLL_OUT, OpenButtonRollOutHandler);
        }
 /**
  *
  *  Removes event triggers from the openButton to open the popup.
  *
  *  <p>This is called from the openButton setter after the openButton has been set.</p>
  */
 private void RemoveOpenTriggers()
 {
     if (null == OpenButton)
     {
         return;
     }
     if (null == RolloverOpenDelay)
     {
         OpenButton.RemoveEventListener(ButtonEvent.BUTTON_DOWN, OpenButtonButtonDownHandler);
     }
     else
     {
         OpenButton.RemoveEventListener(MouseEvent.ROLL_OVER, OpenButtonRollOverHandler);
     }
 }