}
Arrays.sort(keys);
final int[] values = ArrayUtils.copy(keys);
ArrayUtils.shuffle(values);
final StopWatch watchdog1 = new StopWatch("Construction of " + repeat + " objects");
btree.setBulkloading(true, 0.1f, 0.1f);
final SortedMap<Integer, Set<Integer>> expected = new TreeMap<Integer, Set<Integer>>();
for(int i = 0; i < repeat; i++) {
int k = keys[i];
int v = values[i];
Set<Integer> vset = expected.get(k);
if(vset == null) {
vset = new HashSet<Integer>();
expected.put(k, vset);
}
vset.add(v);
btree.addValue(new Value(k), new Value(v));
}
System.err.println(watchdog1);
final StopWatch watchdog2 = new StopWatch("Searching " + repeat + " objects");
btree.setBulkloading(false, 0.1f, 0.1f);
final SortedMap<Integer, Set<Integer>> actual = new TreeMap<Integer, Set<Integer>>();
btree.search(new IndexConditionANY(), new CallbackHandler() {
public boolean indexInfo(Value value, long pointer) {
throw new UnsupportedOperationException();