I know that java is return by value not by reference, so it makes a copy of the object and passes the new copy. Is this is the case with the return statements also? Does the
return obj;
creates a new object copy or simply returns the current object itself.