@Override public int hashCode() { int sourceHash = source.hashCode(); int edgeHash = guard == null ? 0 : guard.hashCode(); int targetHash = target.hashCode(); return sourceHash ^ edgeHash ^ targetHash; }