public boolean hasHigherTombstoneGCVersions(RegionVersionVector<T> other) {
    if (localGCVersion.get() > 0) {
      Long version = other.memberToGCVersion.get(myId);
      if (version == null) {
        return true; // this vector has removed locally created tombstones that the other hasn't
                     // reaped
      } else if (localGCVersion.get() > version) {
        return true;
      }
    }
    // see if I have members with GC versions that the other vector doesn't have
    for (T mbr : memberToGCVersion.keySet()) {
      if (!other.memberToGCVersion.containsKey(mbr)) {
        if (!mbr.equals(other.getOwnerId())) {
          return true;
        }
      }
    }
    // see if the other vector has members that have been removed from this
    // vector. If this happens we don't know if tombstones were removed
    for (T id : other.memberToGCVersion.keySet()) {
      if (!id.equals(myId) && !memberToGCVersion.containsKey(id)) {
        return true;
      }
    }
    // now see if I have anything newer for things we have in common
    for (Map.Entry<T, Long> entry : other.memberToGCVersion.entrySet()) {
      Long version = memberToGCVersion.get(entry.getKey());
      if (version != null) {
        Long otherVersion = entry.getValue();
        if (version > otherVersion) {
          return true;
        }
      }
    }
    return false;
  }
check to see if tombstone removal in this RVV indicates that tombstones have been removed from
its Region that have not been removed from the argument's Region. If this is the case, then a
delta GII may leave entries in the other RVV's Region that should be deleted.

@return true if there have been tombstone removals in this vector's Region that were not done
        in the argument's region
geode-core/src/main/java/org/apache/geode/internal/cache/versions/RegionVersionVector.java