### Question:
ExpressionUtils { public static Map<String, Object> escapeMap(Map<String, Object> map) { if (map == null || map.isEmpty()) { return map; } Map<String, Object> result = new LinkedHashMap<>(map.size()); for (Map.Entry<String, Object> e : map.entrySet()) { result.put(e.getKey(), escape(e.getValue())); } return result; } private  ExpressionUtils(); static Map<String, Object> escapeMap(Map<String, Object> map); static String escapeString(String value); static List<Object> escapeList(List<Object> value); static Set<Object> escapeSet(Set<Object> value); static Object[] escapeArray(Object[] value); static boolean hasExpression(String s);  }### Answer:
@Test public void simpleTest() { Map<String, Object> event = new HashMap<>(); event.put("k", "v"); event.put("commitMessage", "some text ${oops} moo"); Map<String, Object> escaped = ExpressionUtils.escapeMap(event); assertEquals(event.size(), escaped.size()); assertEquals(event.get("k"), escaped.get("k")); assertEquals("some text \\${oops} moo", escaped.get("commitMessage")); }