@Override protected Counter removeImpl(Counter counter) throws SystemException { counter = toUnwrappedModel(counter); Session session = null; try { session = openSession(); if (!session.contains(counter)) { counter = (Counter) session.get(CounterImpl.class, counter.getPrimaryKeyObj()); } if (counter != null) { session.delete(counter); } } catch (Exception e) { throw processException(e); } finally { closeSession(session); } if (counter != null) { clearCache(counter); } return counter; }