### Question:
MapConf extends AbstractConf { @Override public boolean hasPath(final String path) { String[] composed = splitPath(path); final String key = composed[0]; boolean result = false; if (hasKey(key)) { if (composed.length > 1){ final String nextPath = composed[1]; result = getSubConf(key).hasPath(nextPath); } else { result = true; } } if (!result && fallback != null) { result = fallback.hasPath(path); } return result; } MapConf(final Map<String, ?> parameters);   MapConf(final Map<String, ?> parameters,
            final boolean explode); protected  MapConf(final Map<String, ?> parameters,
                      final Conf fallback,
                      final boolean explode); @Override String getString(final String path); @Override long getLong(final String path); @Override int getInt(final String path); @Override boolean getBoolean(final String path); @Override double getDouble(final String path); @Override @SuppressWarnings("unchecked") List<String> getStringList(final String path); @Override Conf getSubConf(final String path); @Override @SuppressWarnings("unchecked") List<Conf> getSubConfList(final String path); @Override boolean hasPath(final String path); @Override Conf withFallback(final Conf fallback); @Override Map<String, Object> getConfAsMap(); @Override Properties getConfAsProperties(); @Override String toString();  }### Answer:
@Test public void shouldReturnTrueWhenConfContainsGivenPath() { Conf conf = new MapConf(MIXIN_MAP_WITH_CONF); Assertions.assertTrue(conf.hasPath("field.bar.foo")); }