private int findNextFarthestPoint(Matrix features
									, Set<Integer> farthestPoints) {
		
		int nextFarthestPoint = -1;
		double max = 0;
		List<Double> distances = new ArrayList<Double>();
		for (int i = 0; i < features.rows(); i++) {
			
			if (!farthestPoints.contains(i)) {
				distances.clear();
				double[] current = features.row(i);
				for (int point : farthestPoints) {
					distances.add(getEuclidDistance(current
												, features.row(point)
												, features));
				}
				double totalDistance = 0;
				for (double distance : distances) {
					totalDistance += distance;
				}
				if (totalDistance > max) {
					totalDistance = max;
					nextFarthestPoint = i;
				}
			}
			
		}
		
		return nextFarthestPoint;
	}