### Question:
ConcurrentLongLongPairHashMap { public boolean putIfAbsent(long key1, long key2, long value1, long value2) { checkBiggerEqualZero(key1); checkBiggerEqualZero(value1); long h = hash(key1, key2); return getSection(h).put(key1, key2, value1, value2, (int) h, true); } ConcurrentLongLongPairHashMap();  ConcurrentLongLongPairHashMap(int expectedItems);  ConcurrentLongLongPairHashMap(int expectedItems, int concurrencyLevel); long size(); long capacity(); boolean isEmpty(); LongPair get(long key1, long key2); boolean containsKey(long key1, long key2); boolean put(long key1, long key2, long value1, long value2); boolean putIfAbsent(long key1, long key2, long value1, long value2); boolean remove(long key1, long key2); boolean remove(long key1, long key2, long value1, long value2); void clear(); void forEach(BiConsumerLongPair processor); List<LongPair> keys(); List<LongPair> values(); Map<LongPair, LongPair> asMap();  }### Answer:
@Test public void testPutIfAbsent() { ConcurrentLongLongPairHashMap map = new ConcurrentLongLongPairHashMap(); assertTrue(map.putIfAbsent(1, 1, 11, 11)); assertEquals(map.get(1, 1), new LongPair(11, 11)); assertFalse(map.putIfAbsent(1, 1, 111, 111)); assertEquals(map.get(1, 1), new LongPair(11, 11)); }