      *  where appropriate and updates the <code>hovered</code> and
      *  <code>mouseCaptured</code> properties.
      *  <p>This method gets called to handle MouseEvent.ROLL_OVER, MouseEvent.ROLL_OUT,
-     *  MouseEvent.MOUSE_DOWN, MouseEvent.MOUSE_UP, MouseEvent.CLICK and 
-     *  SandboxMouseEvent.MOUSE_UP_SOMEWHERE.</p>
-     *  <p>For MouseEvent.MOUSE_UP and SandboxMouseEvent.MOUSE_UP_SOMEWHERE, the event 
-     *  target can be other than the ButtonBase - for example when the user presses the 
-     *  ButtonBase, we listen for MOUSE_UP and MOUSE_UP_SOMEWHERE to handle cases where the user drags
-     *  outside the ButtonBase and releases the mouse.</p>
+     *  MouseEvent.MOUSE_DOWN, MouseEvent.MOUSE_UP, and MouseEvent.CLICK.</p>
      *  
      *  @langversion 3.0
      *  @playerversion Flash 10


            case MouseEvent.MOUSE_UP:
            {
                if (event.currentTarget == this)
                    hovered = true;
            } //fallthrough:
            case SandboxMouseEvent.MOUSE_UP_SOMEWHERE:
            {
                mouseCaptured = false;
                break;
            }


    {
        autoRepeatTimer.stop();
        autoRepeatTimer = null;
    }

    /**
     *  This method is called when handling a MouseEvent.MOUSE_UP event
     *  when the user clicks on the button. It is only called when the button
     *  is the target and when mouseCaptured is true. It allows subclasses
     *  to update the properties of the button right as it is clicked to
     *  avoid the button being in transitional states between the mouse up
     *  and click events.
     *  
     *  @langversion 3.0
     *  @playerversion Flash 10
     *  @playerversion AIR 1.5
     *  @productversion Flex 4
     */
    protected function buttonReleased():void
    {
    }

    //--------------------------------------------------------------------------
