public boolean overlapsAny(ArrayList<Edge> them) {
        if (VectorWorld.DEBUG_OLAP) {
            System.out.println("Does the edge from "
                    + this.getStart().getName() + " to "
                    + this.getEnd().getName() + "overlap any of the others?");
        }
        Edge that;
        for (int i = 0; i < them.size(); i++) {
            that = them.get(i);
            if (that == null) {
                continue;
            }
            if (VectorWorld.DEBUG_OLAP) {
                System.out.println("Does it overlap the edge from "
                        + that.getStart().getName() + " to "
                        + that.getEnd().getName() + "?");
            }
            if (this.intersects(that)) {
                if (VectorWorld.DEBUG_OLAP) {
                    System.out.println("Yes, it does!");
                }
                return true;
            } else if (VectorWorld.DEBUG_OLAP) {
                System.out.println("No, it doesn't.");
            }

        }
        if (VectorWorld.DEBUG_OLAP) {
            System.out.println("I didn't find any overlaps.");
        }
        return false;
    }