@Override
	public boolean equals(Object obj) {
        try {
                Edge otherEdge = (Edge) obj;
                boolean result = (v1.equals(otherEdge.getV1()) && v2.equals(otherEdge.getV2()));
                result = result || (v1.equals(otherEdge.getV2()) && v2.equals(otherEdge.getV1()));
                return result;
        } catch (Exception e) {
                return super.equals(obj);
        }
	}