Do you have a suggestion on how to do a deep copy for an arbitrary type? I don't know of a good way to do it in Java. Hopefully this will mostly be used through the DynamicStringSetProperty subtype, making the inner-values immutable.