@Test
 public void shouldCreateWithInitialCapacityAndConcurrenyLevel() throws Exception {
   ConcurrentReferenceHashMap<Integer, String> map =
       new ConcurrentReferenceHashMap<Integer, String>(16, 2);
   assertThat(map.getSegmentsSize(), is(2));
   assertThat(map.getSegment(0).getSize(), is(8));
   assertThat(map.getLoadFactor(), is(0.75f));
 }
 @Test
 public void shouldCreateWithDefaults() throws Exception {
   ConcurrentReferenceHashMap<Integer, String> map =
       new ConcurrentReferenceHashMap<Integer, String>();
   assertThat(map.getSegmentsSize(), is(16));
   assertThat(map.getSegment(0).getSize(), is(1));
   assertThat(map.getLoadFactor(), is(0.75f));
 }
 @Test
 public void shouldCreateFullyCustom() throws Exception {
   ConcurrentReferenceHashMap<Integer, String> map =
       new ConcurrentReferenceHashMap<Integer, String>(5, 0.5f, 3);
   // concurrencyLevel of 3 ends up as 4 (nearest power of 2)
   assertThat(map.getSegmentsSize(), is(4));
   // initialCapacity is 5/4 (rounded up, to nearest power of 2)
   assertThat(map.getSegment(0).getSize(), is(2));
   assertThat(map.getLoadFactor(), is(0.5f));
 }