### Question:
PercentileBuckets { public static <T> T[] map(Class<T> c, Function<Long, T> f) { @SuppressWarnings("unchecked") T[] values = (T[]) Array.newInstance(c, BUCKET_VALUES.length); for (int i = 0; i < BUCKET_VALUES.length; ++i) { values[i] = f.apply(BUCKET_VALUES[i]); } return values; } private  PercentileBuckets(); static long[] asArray(); static T[] map(Class<T> c, Function<Long, T> f); static long get(int i); static int length(); static int indexOf(long v); static long bucket(long v); static void percentiles(long[] counts, double[] pcts, double[] results); static double percentile(long[] counts, double p);  }### Answer:
@Test public void map() { String[] values = PercentileBuckets.map(String.class, v -> String.format("%016X", v)); Assertions.assertEquals(PercentileBuckets.length(), values.length); for (int i = 0; i < values.length; ++i) { Assertions.assertEquals(PercentileBuckets.get(i), Long.parseLong(values[i], 16)); } }