public void findArticulationPoints() {
		for (Intersection i : intersections) {
			i.depth = Double.POSITIVE_INFINITY;
		}

		this.articulationPoints = new HashSet<Intersection>();

		Intersection start = intersections.get(0);
		start.depth = 0;
		int numSubtrees = 0;
		ArrayList<Intersection> neighbours = getNeighbours(start);
		for (Intersection neigh : neighbours) {
			if (neigh.depth == Double.POSITIVE_INFINITY) {
				recArtPts(neigh, 1.0, start);
				numSubtrees++;
			}
		}
		if (numSubtrees > 1) {
			this.articulationPoints.add(start);
		}
		for (Intersection i : articulationPoints) {
			i.setColor(Color.MAGENTA);
		}
		System.out.println(articulationPoints.size());
	}