Moved optimistic locking check to the AbstractController