About breaking class contracts – fear clone()
The bottom line is that Object.clone() has a defined contract which is very easy to break. Better use alternatives like copy constructors or copy factories if you really need object copying.
Continue reading over at dzone...
