private void fireEndsChanged(ArrayList<EndData> oldEnds,
ArrayList<EndData> newEnds) {
EventSourceWeakSupport<ComponentListener> ls = listeners;
if (ls != null) {
ComponentEvent e = null;
for (ComponentListener l : ls) {
if (e == null) e = new ComponentEvent(this, oldEnds, newEnds);
l.endChanged(e);
}
}
}