void () { final TreeBasedMap<String> map = new TreeBasedMap<>(Interner.createStringInterner(), '/'); map.put("", "ValueEmpty"); map.put("aaa/bbb/ccc", "ValueAAABBBCCC"); map.put("aaa/bbb/ddd", "ValueAAABBBDDD"); map.put("aaa/bbb", "ValueAAABBB"); map.put("aaa/bb/cc", "ValueAAABBCC"); map.put("aaa/bb/dd", "ValueAAABBDD"); map.put("aaa/b/c", "ValueAAABC"); assertEquals(7, map.size()); map.remove(""); assertEquals(6, map.size()); assertNull(map.get("")); assertEquals("ValueAAABBBCCC", map.get("aaa/bbb/ccc")); assertEquals("ValueAAABBBDDD", map.get("aaa/bbb/ddd")); assertEquals("ValueAAABBB", map.get("aaa/bbb")); assertEquals("ValueAAABBCC", map.get("aaa/bb/cc")); assertEquals("ValueAAABBDD", map.get("aaa/bb/dd")); assertEquals("ValueAAABC", map.get("aaa/b/c")); map.remove("aaa/bbb"); assertEquals(5, map.size()); assertNull(map.get("")); assertEquals("ValueAAABBBCCC", map.get("aaa/bbb/ccc")); assertEquals("ValueAAABBBDDD", map.get("aaa/bbb/ddd")); assertNull(map.get("aaa/bbb")); assertEquals("ValueAAABBCC", map.get("aaa/bb/cc")); assertEquals("ValueAAABBDD", map.get("aaa/bb/dd")); assertEquals("ValueAAABC", map.get("aaa/b/c")); }