boolean (Object obj) { if (this == obj) { return true; } if (obj instanceof ThrowableWrapper) { Throwable throwable = ((ThrowableWrapper)obj).throwable; return this.throwable == throwable || fingerprint(this.throwable).equals(fingerprint(throwable)); } return false; }