This is all correct.

Also, since a multi-share operation will result in multiple activities fired with the same content object in them, there is some inefficiency that could be improved:

a) Implement a short-lived `AuthzSession` utility that will cache getAuthzMembers lookups in-memory, and share it across routing operations (i.e., something like an L1 cache)
b) Make the routing operation take in this AuthzSession to use for its routing
c) Group all shares in a multi-share event into one activity task.
d) The AuthzSession is discarded after the activity has been routed and persisted to its buckets

This will ensure the `getAuthzMembers` call only goes to Cassandra once for a content item in a multi-share (same concept for groups). Also useful for other cases that end up with redundant lookups, such as adding a group to a group.

Was determining whether or not to implement this, and opted to deliver the PR sooner instead since the optimization may be premature.