@Test
public void testRecursiveMap() throws Exception {

	Map<String, Object> children = new HashMap<String, Object>();
	children.put("4", "x");
	children.put("5", "y");
	children.put("6", "z");
	
	Map<String, Object> parent = new HashMap<String, Object>();
	parent.put("1", "a");
	parent.put("children", children);
	parent.put("2", "b");
	parent.put("3", "c");
	
	Map<String, Object> result = CollectionMethod.recursive(parent);
	
	Assert.assertEquals(6, result.size());
	Assert.assertEquals("a", result.get("1"));
	Assert.assertEquals("x", result.get("4"));
	Assert.assertEquals("y", result.get("5"));
	Assert.assertEquals("z", result.get("6"));
	Assert.assertEquals("b", result.get("2"));
	Assert.assertEquals("c", result.get("3"));
}