[java] Why would one mark local variables and method parameters as "final" in Java?