/** general history event insert behavior */ protected void insertOrUpdate(HistoryEvent historyEvent) { final DbSqlSession dbSqlSession = getDbSqlSession(); String eventType = historyEvent.getEventType(); if (isInitialEvent(eventType)) { dbSqlSession.insert(historyEvent); } else { if (dbSqlSession.findInCache(historyEvent.getClass(), historyEvent.getId()) == null) { dbSqlSession.update(historyEvent); } } }