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());
Assert.assertThat(o.find(model, "ok"), nullValue());