Putting it all together

Here's the complete code for this scenario solution:

Figure 1. Complete listing for a façade "remove" method
// ...
  public void removeSomeEntityDetails(
    final SomeEntityKeyVersion key)
      throws AppException, InformationalException {

    // retrieve the instance of the entity
    final SomeEntity someEntity =
      someEntityDAO.get(key.someEntityID);

    // do the remove, passing the version number from the client
    someEntity.remove(key.versionNo);

  }

  // ...