private void writeObject(ObjectOutputStream out) throws IOException {
out.defaultWriteObject();
// write out all serializable listeners
List<ListEventListener> serializableListeners = new ArrayList<ListEventListener>();
for(Iterator<ListEventListener> i = updates.getListEventListeners().iterator(); i.hasNext(); ) {
ListEventListener listener = i.next();
if(!(listener instanceof Serializable)) continue;
serializableListeners.add(listener);
}
ListEventListener[] listeners = serializableListeners.toArray(new ListEventListener[serializableListeners.size()]);
out.writeObject(listeners);