private void printClusters(Collection<Cluster<T>> clusters) {
		String prefix = "cluster";
		int i = 0;
		for (Cluster<T> cluster : clusters) {
			List<EuclideanSpacePoint> points = new ArrayList<EuclideanSpacePoint>(
					cluster.getSize());
			for (T cPoint : cluster.getClusterPoints()) {
				EuclideanSpacePoint p = null;
				if (cPoint instanceof PointWithFitness) {
					p = ((PointWithFitness) cPoint).getPoint();
				} else if (cPoint instanceof EuclideanSpacePoint) {
					p = (EuclideanSpacePoint) cPoint;
				} else {
					logger.error("unsupported point class: "
							+ cPoint.getClass().getName());
				}
				points.add(p);
			}
			try {
				PrintUtils.writePoints(prefix + i++, points);
			} catch (IOException e) {
				logger.warn("Cannot print clusters", e);
			}
		}
	}