Effective Java - Override clone() method judiciously
effective java programming
Effective Java Programming Language Guide