I would vote for the first method. I think it is better that passing member data be left out. In the future, if the member data format is changed, the second format must always be changed, whereas the first format may not have to be.
The first format is also easily changed to a public method in the future should it turn out that has some usefulness.
I think the second technique (data in, data out, with no member data modified) would be best when declared public static, in cases where external methods would also have some use for it in a general purpose way. [ August 12, 2007: Message edited by: Red Smith ]