public Edge findEdge(Point2D p){
        for (int i = edges.size() - 1; i >= 0; i--){
            Edge e = (Edge) edges.get(i);
            if (e.contains(p)) return e;
        }
        return null;
    }