Fixed stack overflow caused by recursive hash code computation.  (toString also.)