{
Map<String, Object> smap = new HashMap<String, Object>();
smap.put("hi", "hi");
RecursiveMap rmap = new RecursiveMap(smap);
Assert.assertEquals("hi", rmap.get("hi"));
smap.put("hi2", "${hi}2");
Assert.assertEquals("hi2", rmap.get("hi2"));
smap.put("hi3", "${${hi}4}");
smap.put("hi4", "hi4");
Assert.assertEquals("hi4", rmap.get("hi3"));
smap.put("hi5", 5);
Assert.assertEquals(5, rmap.get("hi5"));
smap.put("hi6", new StringBuffer("${hi}"));
Assert.assertEquals("${hi}", rmap.get("hi6").toString());
}