This belongs in populateModel() so it will fail the op even if the rollback-on-runtime-failure=true header is set on the request.