public void actionPerformed(ActionEvent event) {
        Component source = null;
        try {
            source = (Component) event.getSource();
        } catch (Throwable e) {
            // Might not be a component, or the event may be null.
            // Who cares.
        }
        performAction(source);
    }