public void add(double x, int w, Iterable<? extends Double> data) { if (actualData != null) { if (data != null) { for (Double old : data) { actualData.add(old); } } else { actualData.add(x); } } centroid = AbstractTDigest.weightedAverage(centroid, count, x, w); count += w; }