Java doesn't use the word "reference" the way you might be thinking of. It's not like a C pointer reference. Java is pass-by-value only.

To understand what's going on, I highly recommend reading...