Here's the complete code for this scenario solution:
// ... public void cancelSomeEntityDetails( final SomeEntityKeyVersion key) throws AppException, InformationalException { // retrieve the instance of the entity final SomeEntity someEntity = someEntityDAO.get(key.someEntityID); // do the cancel, passing the version number from the client someEntity.cancel(key.versionNo); } // ...