@Override
 protected void processMouseEvent(MouseEvent e) {
   switch (e.getID()) {
     case MouseEvent.MOUSE_CLICKED:
       if (e.getClickCount() == 2) {
         long oldMem = getUsedMemory();
         Runtime.getRuntime().gc();
         getData();
         long newMem = getUsedMemory();
         long difference = oldMem - newMem;
         String text = msg.getString("Plugin.PopupDialog.GC.text");
         text = MessageFormat.format(text, new Object[] {new Long(bytesToKb(difference))});
         JOptionPane.showMessageDialog(
             app,
             text,
             msg.getString("Plugin.PopupDialog.GC.title"),
             JOptionPane.INFORMATION_MESSAGE);
       }
       break;
     default:
   }
   super.processMouseEvent(e);
 }
 @Override
 public void setVisible(boolean visible) {
   if (visible) installTimer(getRefreshInterval());
   else uninstallTimer();
   super.setVisible(visible);
 }