List<List<Hex>> connectedClusters(Iterable<Hex> candidates) { return _connectedClustersOfNodes( candidates, (Hex a, Hex b) => a.distanceTo(b) <= 1); }