### Question:
JsonObjectArrayWrapper extends TypedJsonArray<T> { @Override public boolean contains(Object o) { if(o == null) return false; if(JsonObjectWrapper.class.isAssignableFrom(o.getClass())) { return getJson().contains(((JsonObjectWrapper)o).getJson()); } return super.contains(o); } JsonObjectArrayWrapper(); @Override O wrap(JsonArray jsonElement); O wrap(JsonArray jsonArray, Class<T> cls); JsonObjectArrayWrapper<T> withWrapperType(Class<T> cls); @Override boolean contains(Object o);  }### Answer:
@Test public void testContains() throws Exception { arrayWrapper.wrap(jar, TestWrapper.class); Map<String, String> testMap = new HashMap<String, String>(); testMap.put("theName", "value2"); Map<String, String> testMap2 = new HashMap<String, String>(); testMap2.put("theName", "valueNA"); assertThat(arrayWrapper.contains(testMap)).isTrue(); assertThat(arrayWrapper.contains(new JsonObject(testMap))).isTrue(); assertThat(arrayWrapper.contains( new JsonObjectWrapper().wrap(new JsonObject(testMap)))).isTrue(); assertThat(arrayWrapper.contains(testMap2)).isFalse(); assertThat(arrayWrapper.contains(new JsonObject(testMap2))).isFalse(); assertThat(arrayWrapper.contains( new JsonObjectWrapper().wrap(new JsonObject(testMap2)))).isFalse(); }