private void fireExpanding(boolean state, boolean before) {
int size = listeners.size();
if (size == 0)
return;
ExpansionEvent e = new ExpansionEvent(this, state);
Object [] listenerList = listeners.getListeners();
for (int i = 0; i < size; i++) {
IExpansionListener listener = (IExpansionListener) listenerList[i];
if (before)
listener.expansionStateChanging(e);