dedupOnAdd is always true as far as I can see.  Would simplify the code to remove the member.