https://docs.oracle.com/javase/specs/jls/se7/html/jls-4.html#jls-4.12.4If a final variable holds a reference to an object, then the state of the object may be changed by operations on the object, but the variable will always refer to the same object.