### Question:
ConfigurationUtils { @SuppressWarnings("rawtypes") public static boolean deepEquals(Object a, Object b) { if (!Objects.deepEquals(a, b)) { return false; } if (a instanceof Map && b instanceof Map) { return equals((Map) a, (Map) b); } else if (a instanceof Collection && b instanceof Collection) { return equals((Collection) a, (Collection) b); } return true; } private  ConfigurationUtils(); @SuppressWarnings("unchecked") static boolean has(Map<String, Object> m, String[] path); static Object get(Map<String, Object> m, String... path); @SuppressWarnings("unchecked") static Object get(Map<String, Object> m, int depth, String... path); @SuppressWarnings("unchecked") static void set(Map<String, Object> a, Object b, String... path); @SuppressWarnings("unchecked") static void delete(Map<String, Object> a, String... path); @SuppressWarnings("unchecked") static void merge(Map<String, Object> a, Map<String, Object> b, String... path); @SuppressWarnings("unchecked") static Map<String, Object> deepMerge(Map<String, Object> a, Map<String, Object> b); @SafeVarargs static Map<String, Object> deepMerge(Map<String, Object>... maps); static Map<String, Object> toNested(String k, Object v); @SuppressWarnings("rawtypes") static boolean deepEquals(Object a, Object b); @SafeVarargs static Set<T> distinct(Collection<T>... collections);  }### Answer:
@Test public void deepEqualsTest() { Object a = Collections.singletonMap("x", Collections.singletonList("test1")); Object b = Collections.singletonMap("x", Collections.singletonList("test2")); assertFalse(ConfigurationUtils.deepEquals(a, b)); a = Collections.singletonMap("x", Collections.singletonList("test")); b = Collections.singletonMap("x", Collections.singletonList("test")); assertTrue(ConfigurationUtils.deepEquals(a, b)); }