@Override public DistanceResult call() { double bestDist = Double.MAX_VALUE; Instance bestMatch = null; for (Instance c : clusters) { double d = distance(inst, c); if (d < bestDist) { bestDist = d; bestMatch = c; } } return new DistanceResult(inst, (Cluster)bestMatch, bestDist); } });