Opening drill
How would you design a genuinely immutable Java class? | Aporeon