title: Locking on a mutable object - Why is it considered a bad practice?
body: <p>See this <a href="https://stackoverflow.com/questions/238173/worst-java-practice-found-in-your-experience/1219428#1219428">answer</a>. It says:</p>
  <blockquote>
  <p>Six really bad examples;</p>
  <p>...</p>
  <p>locking on a mutable field. e.g. synchronized(object) { object = ...; }</p>
  </blockquote>
  <p>What's wrong with locking on a mutable field? What if <code>object</code> was declared as <code>final</code> but was not an immutable class?</p>