@Override
    public int get(int key) {
        if (key == NO_KEY) {
            return val0;
        }

        final int V = ihc.get(key);
        assert !isPrime(V); // Never return a Prime
        return V;
    }
@Test
    public void testSingleThread() {
        final IntHashCounter intMap = new AtomicIntHashCounter(128 * 1024);
        final AtomicIntegerArray intArray = new AtomicIntegerArray(128 * 1024);
        final ConcurrentMap<Integer, AtomicInteger> integerMap = new ConcurrentHashMap<>(128 * 1024);
        mode1(intMap, intArray, integerMap, 1024, 64);
        mode1(intMap, intArray, integerMap, 256, 256);
        mode1(intMap, intArray, integerMap, 64, 1024);
        mode1(intMap, intArray, integerMap, 16, 4 * 1024);
        mode1(intMap, intArray, integerMap, 4, 16 * 1024);
        mode1(intMap, intArray, integerMap, 1, 64 * 1024);

        for (Entry<Integer, AtomicInteger> entry : integerMap.entrySet()) {
            final int key = entry.getKey();
            final AtomicInteger value = entry.getValue();
            Assert.assertEquals("intArray", value.intValue(), intArray.get(key));
            Assert.assertEquals("intMap", value.intValue(), intMap.get(key));
        }
    }