@Test
public void testConvert4_MapOfJavaBean() throws Exception {

    Map<String, String> source = new LinkedHashMap<String, String>();
    source.put("aaa", "111");
    source.put("bbb", "222");
    source.put("ccc", "333");
    Map<String, String> map = converter.convert(new SearchForm4(source));
    assertThat(map.size(), is(3));
    assertThat(map, hasEntry("etc[aaa]", "111"));
    assertThat(map, hasEntry("etc[bbb]", "222"));
    assertThat(map, hasEntry("etc[ccc]", "333"));
    // check reverse conversion
    SearchForm4 form = new SearchForm4();
    WebDataBinder binder = new WebDataBinder(form);
    binder.bind(new MutablePropertyValues(map));
    assertThat(form.getEtc(), is(notNullValue()));
    assertThat(form.getEtc().size(), is(3));
    assertThat(form.getEtc(), hasEntry("aaa", "111"));
    assertThat(form.getEtc(), hasEntry("bbb", "222"));
    assertThat(form.getEtc(), hasEntry("ccc", "333"));
}