@SuppressWarnings("unchecked")
 @Test
 public void testBindDoubleNestedMap() throws Exception {
   TargetWithNestedMap target = new TargetWithNestedMap();
   bind(
       target,
       "nested.foo: bar\n"
           + "nested.bar.spam: bucket\n"
           + "nested.bar.value: 123\nnested.bar.foo: crap");
   assertEquals(2, target.getNested().size());
   assertEquals(3, ((Map<String, Object>) target.getNested().get("bar")).size());
   assertEquals("123", ((Map<String, Object>) target.getNested().get("bar")).get("value"));
   assertEquals("bar", target.getNested().get("foo"));
   assertFalse(target.getNested().containsValue(target.getNested()));
 }
 @SuppressWarnings("unchecked")
 @Test
 public void testBindDoubleNestedMapWithDotInKeys() throws Exception {
   TargetWithNestedMap target = new TargetWithNestedMap();
   bind(
       target,
       "nested.foo: bar.key\n"
           + "nested[bar.key].spam: bucket\n"
           + "nested[bar.key].value: 123\nnested[bar.key].foo: crap");
   assertEquals(2, target.getNested().size());
   Map<String, Object> nestedMap = (Map<String, Object>) target.getNested().get("bar.key");
   assertNotNull("nested map should be registered with 'bar.key'", nestedMap);
   assertEquals(3, nestedMap.size());
   assertEquals("123", nestedMap.get("value"));
   assertEquals("bar.key", target.getNested().get("foo"));
   assertFalse(target.getNested().containsValue(target.getNested()));
 }
 @Test
 public void testBindNestedMapBracketReferencedAndPeriods() throws Exception {
   TargetWithNestedMap target = new TargetWithNestedMap();
   bind(target, "nested[foo]: bar\n" + "nested[foo.value]: 123");
   assertEquals("123", target.getNested().get("foo.value"));
 }
 @Test
 public void testBindNestedMap() throws Exception {
   TargetWithNestedMap target = new TargetWithNestedMap();
   bind(target, "nested.foo: bar\n" + "nested.value: 123");
   assertEquals("123", target.getNested().get("value"));
 }