GMSMembership has a shunnedMembers collection that is used to track the IDs of nodes that are no longer part of the cluster. This collection is no longer needed since we can tell if a node is old by comparing the view ID in its identifier to that of the current view (called latestView in that class. Checks like this are already in place in some parts of the code.
All uses of shunnedMembers should be replaced with this check.
MembershipView<ID> view = latestView;
boolean shunned = memberId.getVmViewId() <= view.getViewId() && !view.contains(memberId);