"Java is pass-by-value."
"But when I pass an object, it modifies the original object!"
"Yes, because the value being passed is the pointer to the object."
"So it's pass-by-reference?"
"No, the pointer is passed by value."
[C programmer laughing in the distance]