model.put("foo", foo);
    
    ObjectNavigator o = ObjectNavigator.getInstance();
    Assert.assertThat(String.valueOf(o.find(model, "foo.bar.info")), equalTo("bar1"));
    Assert.assertThat(String.valueOf(o.find(model, "foo.bar.serialNumber")), equalTo("33"));
    Assert.assertThat(String.valueOf(o.find(model, "foo.bar.price")), equalTo("3.3"));
    Assert.assertThat(String.valueOf(o.find(model, "foo.numbers[2]")), equalTo("5"));
    Assert.assertThat(String.valueOf(o.find(model, "foo.map['bar2'].price")), equalTo("2.3"));
    Assert.assertThat(String.valueOf(o.find(model, "foo.map2['map4']['hello4']['hello3']")), equalTo("world3"));
    Assert.assertThat(String.valueOf(o.find(model, "foo.map2['map4']['hello4']['arr'][2]")), equalTo("7"));
    Assert.assertThat(o.find(model, "foo.map['bar5']"), nullValue());