public bool HasNoNeighbors(Intersection intersection) { return GetAdjacentEdges(intersection). SelectMany(edge => GetAdjacentIntersections(edge)). All(inter => inter.Equals(intersection) || GetPiece(inter) == null); }