	@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"));
	}