title: Why make defensive copies in getters inside immutable classes?
body: <p>This question is about good programming practices and avoiding potential holes.<br>
  I read Joshua Bloch's Effective Java and here is what I wonder:<br>
  Why should I consider making defensive copies in getter methods in my immutable class with no mutators in it?<br>
  And second: why should I make my fields <em>final</em> in addition to <em>private</em> ? Is this only about performance (not security) ?</p>