private static void downsample(List<SampledValue> oldSubset, List<SampledValue> newValues, long minInterval, InterpolationMode mode) { if (oldSubset.isEmpty()) return; else if (oldSubset.size() == 1) { newValues.add(oldSubset.get(0)); return; } if (mode == InterpolationMode.NONE) { downsampleNaive(oldSubset, newValues, minInterval); } else { downsample(oldSubset, newValues, minInterval); } }