private double recArtPts(Intersection node, double depth,
			Intersection fromNode) {
		node.depth = depth;
		double reachBack = depth;

		for (Intersection neighbour : getNeighbours(node)) {
			if (!(neighbour.equals(fromNode))) {
				if (neighbour.depth < Double.POSITIVE_INFINITY) {
					reachBack = Math.min(neighbour.depth, reachBack);
				} else {
					double childReach = recArtPts(neighbour, depth + 1, node);
					reachBack = Math.min(childReach, reachBack);
					if (childReach >= depth) {
						articulationPoints.add(node);
					}

				}
			}
		}

		return reachBack;

	}