so... do you think that the benefit derived from the change is valuable enough to warrant implementing a "clone" method?  Because the thought of that kind of makes me want to stick a fork in my eye.

I can change the return type to void and change the call to not do an assignment if you think it's misleading.