public MapBuilder getMap(String name) {
        MapBuilder a = mapBuilderMap.get(name);
        if (a == null) {
            validateMap(name);
            a = new MapBuilder(configDefinition, name);
            mapBuilderMap.put(name, a);
        }
        return a;
    }
@Test
    public void require_that_maps_support_simple_values() {
        ConfigPayloadBuilder builder = new ConfigPayloadBuilder();
        ConfigPayloadBuilder.MapBuilder map = builder.getMap("foo");
        map.put("fookey", "foovalue");
        map.put("barkey", "barvalue");
        map.put("bazkey", "bazvalue");
        map.put("fookey", "lolvalue");
        assertEquals(3, map.getElements().size());
        Cursor root = createSlime(builder);
        Cursor a = root.field("foo");
        assertEquals("barvalue", a.field("barkey").asString());
        assertEquals("bazvalue", a.field("bazkey").asString());
        assertEquals("lolvalue", a.field("fookey").asString());
    }