private void addToBucketMap(Map<Integer, List<Integer>> bucketMap, int ibucket, int element) {
        List<Integer> list;
        if (bucketMap.containsKey(ibucket)) {
            list = bucketMap.get(ibucket);
        } else {
            list = new ArrayList<Integer>();
            bucketMap.put(ibucket, list);
        }
        if (list.isEmpty()) {
            list.add(element);
        } else if (list.size() == 1) {
            if (element > list.get(0)) {
                list.add(element);
            }
            if (element < list.get(0)) {
                list.add(0, element);
            }
        } else { // list.size == 2
            if (element < list.get(0)) { // min
                list.set(0, element);
            } else if (element > list.get(1)) {
                list.set(1, element);
            }
        }
    }