Beware of this simple mistake, which can be hard to track down: if
a field is mistakenly redeclared within the body of a method, then the
field is not being referenced, but rather a temporary local variable with
the same name.

A common symptom of this problem is that a stack trace indicates that a
field is null, but a cursory examination of the code makes it
seem as if the field has been correctly initialized.