void () { // Guaranteed to return a non-null array Object[] listeners = listenerList.getListenerList(); // Process the listeners last to first, notifying // those that are interested in this event for (int i = listeners.length - 2; i >= 0; i -= 2) { if (listeners[i] == ChangeListener.class) { // Lazily create the event: if (changeEvent == null) changeEvent = new ChangeEvent(this); final ChangeListener each = (ChangeListener)listeners[i + 1]; if (each != null) { if (each.getClass().getName().contains("apple.laf.CUIAquaTabbedPane")) { //noinspection SSBasedInspection SwingUtilities.invokeLater(() -> { revalidate(); repaint(); }); continue; } each.stateChanged(changeEvent); } } } }