code: public void mouseReleased (MouseEvent e)
      {
          // if the mouse was released within the bounds of the button, go
          // ahead and select it properly
          if (_selectedButton != null) {
              if (_selectedButton.contains(e.getX(), e.getY())) {
                  // tell the model that the selection has changed (and
                  // we'll respond and do our business
                  Object elem = _selectedButton.getClientProperty("element");
                  _model.setSelectedItem(elem);
  
              } else {
                  _selectedButton.setBorder(DESELECTED_BORDER);
                  _selectedButton.repaint();
              }
  
              // clear out the selected button indicator
              _selectedButton = null;
          }
      }
docs: documentation inherited from interface