### Question:
StringToMap { public static void remove(String path, Map<String, Object> map) { remove(path.split("\\."), 0, map); }  static Map<String, Object> update(String path, String update); static void update(String path, String update, Map<String, Object> map); static String extract(String path, Map<String, Object> map); static void remove(String path, Map<String, Object> map);  }### Answer:
@Test public void testRemove() { Map<String, Object> level3 = new HashMap<>(); level3.put("bar", "value"); Map<String, Object> level2 = new HashMap<>(); level2.put("foo", level3); Map<String, Object> map = new HashMap<>(); map.put("test", level2); StringToMap.remove("test.foo.bar", map); Map<String, Object> level2Expected = new HashMap<>(); level2Expected.put("foo", new HashMap<>()); Map<String, Object> mapExpected = new HashMap<>(); mapExpected.put("test", level2Expected); assertEquals(mapExpected, map); }