void (Color color, Object source) { setSelectedColor(color); if (!myListeners.isEmpty() && (myEvent == null)) { try { myEvent = new ActionEvent(this, ActionEvent.ACTION_PERFORMED, "colorPanelChanged"); for (ActionListener listener : myListeners) { listener.actionPerformed(myEvent); } } finally { myEvent = null; } } }