change controller methods to protected
add a persistAndFlush method on Controller
add throwNotFoundUnless and throwNotFoundIf