Copy the template to preserve original and implement hashCode() and equals().
Implement toString().