} else {
try {
/* Classes can provide an alternative implementation of toString() */
if (obj instanceof Traceable) {
Traceable t = (Traceable) obj;
return t.toTraceString();
} else {
return obj.getClass().getName() + "@" + Integer.toHexString(System.identityHashCode(obj));
}
/* Object.hashCode() can be override and may thow an exception */