@Override public boolean equals(Object obj) { if(this == obj) return true; if(obj == null) return false; if(getClass() != obj.getClass()) return false; final Graph other = (Graph) obj; if(end == null) { if(other.end != null) return false; } else if(!end.equals(other.end)) return false; if(Double.doubleToLongBits(max) != Double.doubleToLongBits(other.max)) return false; if(Double.doubleToLongBits(min) != Double.doubleToLongBits(other.min)) return false; if(node == null) { if(other.node != null) return false; } else if(!node.equals(other.node)) return false; if(start == null) { if(other.start != null) return false; } else if(!start.equals(other.start)) return false; return true; }