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);
}
// ...