try {
// create the serialized event list
DataOutputSerializer serializer = events.size() == 0
? new DataOutputSerializer(4)
: new DataOutputSerializer(events.size() * 32);
serializer.writeInt(events.size());
for (AbstractEvent evt : events) {
serializer.writeUTF(evt.getClass().getName());
evt.write(serializer);
}