### Question:
DBReportRequestStateManager extends DBManager<ReportRequestState> implements ReportRequestStateManager { @Override public final ReportRequestState saveState(final ReportRequestState state) { if (state.getId() == null) { return save(state); } else { update(state); ReportRequestState updatedState = getState(state.getDevice()); LOGGER.debug("Updated ReportRequestState: {}", updatedState); return updatedState; } } DBReportRequestStateManager(final SessionFactory sessionFactory); @Override final ReportRequestState getState(final Device device); @Override final List<ReportRequestState> getLateDeviceStates(); @Override final ReportRequestState saveState(final ReportRequestState state); @Override final void deleteState(final ReportRequestState state);  }### Answer:
@Test(expectedExceptions = DBManagerException.class) public final void testSaveAnotherStateForDevice() { DBReportRequestStateManager mgr = new DBReportRequestStateManager(sessionFactory); ReportRequestState state = getTestReportRequestState( testDevices.get(0) ); mgr.saveState(state); ReportRequestState anotherState = getTestReportRequestState( testDevices.get(0) ); mgr.saveState(anotherState); }