This seems a little iffy - you're modifying an object being passed in from outside, when the user could easily expect it to have been left unaltered and use it again.