single invalidation operation on putAll()

having a single (possibly remote) operation should out-weight the extra allocation of the HashSet