Just do
public foo(Bar bar) {
bar = baz(bar);
//Lots (10+ lines) of code
return finishProcess(bar); //Note, this should have been updatedBar.
}
nothing prevents you from reusing the variable name.
The point about immutability is that the objects themselves don't change.