@Test
public void testRemove() {

	ConcurrentTree<String, String> tree = setupTree();
	
	assertEquals(tree.remove(delimiter.split("a/b")), "a/b");
	assertNull(tree.get(delimiter.split("a/b")));
	assertNotNull(tree.get(delimiter.split("a/b/c/d/e/f")));
	assertNotNull(tree.get(delimiter.split("a/a")));
	
	assertEquals(tree.remove(delimiter.split("a/b/c/d/e/f")), "a/b/c/d/e/f");
	assertNull(tree.remove(delimiter.split("a/b/c/d/e/f")));
	assertNull(tree.remove(delimiter.split("a/b/c/d/e")));
	assertNotNull(tree.get(delimiter.split("a/b/c/d")));
	
	assertNull(tree.remove(delimiter.split("/b/b/c/d/e/f")));
	assertNull(tree.remove(delimiter.split("b/b/c//d/e/f")));
	assertNull(tree.remove(delimiter.split("b/b/c/d/e/f/ ")));
	assertNotNull(tree.get(delimiter.split("b/b/c/d/e/f")));
	
	assertNull(tree.remove(delimiter.split("b/b/c/d/e")));
	assertNotNull(tree.get(delimiter.split("b/b/c/d/e/f")));
	assertNotNull(tree.get(delimiter.split("b/b/c/d")));
}