protected void storeNewState(final Account blockable, final OverdueState nextOverdueState, final InternalCallContext context) throws OverdueException {
try {
blockingApi.setBlockingState(new DefaultBlockingState(blockable.getId(),
BlockingStateType.ACCOUNT,
nextOverdueState.getName(),
OverdueService.OVERDUE_SERVICE_NAME,
blockChanges(nextOverdueState),
blockEntitlement(nextOverdueState),
blockBilling(nextOverdueState),
clock.getUTCNow()),
context);
} catch (Exception e) {
throw new OverdueException(e, ErrorCode.OVERDUE_CAT_ERROR_ENCOUNTERED, blockable.getId(), blockable.getClass().getName());
}
}