private boolean hasSameBusinessSignature(HibernateEntity<TId> other) { boolean notNull = (other != null); int hash = (getId() != null) ? HashTool.compute(getId()) : hashCode(); if (notNull) { int otherHash = (other.getId() != null) ? HashTool.compute(other.getId()) : other.hashCode(); return hash == otherHash; } return false; }