if (tempMean[ix] <= mean[j]) { wSoFar += tempWeight[ix]; k1 = mergeCentroid(wSoFar, k1, tempWeight[ix], tempMean[ix], tempData != null ? tempData.get(ix) : null); i++; } else { wSoFar += weight[j]; k1 = mergeCentroid(wSoFar, k1, weight[j], mean[j], data != null ? data.get(j) : null); j++; int ix = order[i]; wSoFar += tempWeight[ix]; k1 = mergeCentroid(wSoFar, k1, tempWeight[ix], tempMean[ix], tempData != null ? tempData.get(ix) : null); i++; k1 = mergeCentroid(wSoFar, k1, weight[j], mean[j], data != null ? data.get(j) : null); j++;
if (tempMean[ix] <= mean[j]) { wSoFar += tempWeight[ix]; k1 = mergeCentroid(wSoFar, k1, tempWeight[ix], tempMean[ix], tempData != null ? tempData.get(ix) : null); i++; } else { wSoFar += weight[j]; k1 = mergeCentroid(wSoFar, k1, weight[j], mean[j], data != null ? data.get(j) : null); j++; int ix = order[i]; wSoFar += tempWeight[ix]; k1 = mergeCentroid(wSoFar, k1, tempWeight[ix], tempMean[ix], tempData != null ? tempData.get(ix) : null); i++; k1 = mergeCentroid(wSoFar, k1, weight[j], mean[j], data != null ? data.get(j) : null); j++;