### Question:
CacheKey implements Cloneable, Serializable { @Override public boolean equals(Object object) { if (this == object) { return true; } if (!(object instanceof CacheKey)) { return false; } final CacheKey cacheKey = (CacheKey) object; if (hashcode != cacheKey.hashcode) { return false; } if (checksum != cacheKey.checksum) { return false; } if (count != cacheKey.count) { return false; } for (int i = 0; i < updateList.size(); i++) { Object thisObject = updateList.get(i); Object thatObject = cacheKey.updateList.get(i); if (!ArrayUtil.equals(thisObject, thatObject)) { return false; } } return true; } CacheKey();  CacheKey(Object[] objects); int getUpdateCount(); void update(Object object); void updateAll(Object[] objects); @Override boolean equals(Object object); @Override int hashCode(); @Override String toString(); @Override CacheKey clone(); static final CacheKey NULL_CACHE_KEY; }### Answer:
@Test public void shouldTestCacheKeysWithBinaryArrays() throws Exception { byte[] array1 = new byte[] { 1 }; byte[] array2 = new byte[] { 1 }; CacheKey key1 = new CacheKey(new Object[] { array1 }); CacheKey key2 = new CacheKey(new Object[] { array2 }); assertTrue(key1.equals(key2)); }