public void doFunction(EventObject e) {
   timestamp(e);
   e.remove("function");
   boolean persisted = false;
   if (e.has(PERSISTED)) {
     try {
       persisted = e.getBoolean(PERSISTED);
     } catch (JSONException e1) {
       // This one we can safely swallow
     }
   }
   if (!persisted) {
     try {
       e.put(PERSISTED, true);
       CEPEventsSendRunnable.handleEventObject(e);
       doSave(e);
     } catch (Exception e3) {
       logger.error("Save of event " + e + " interrupted", e3);
     }
   } else {
     CEPEventsSendRunnable.handleEventObject(e);
   }
 }