@Override
    public boolean equals(final Object other) {
        if(null == other) {
            return false;
        }
        if(other instanceof CacheReference) {
            return this.hashCode() == other.hashCode();
        }
        return false;
    }
@Test
    public void testEquals() {
        final Path f = new Path("/f", EnumSet.of(Path.Type.file));
        assertEquals(new TransferItemCache.TransferItemCacheReference(new TransferItem(f)), new TransferItemCache.TransferItemCacheReference(new TransferItem(f)));
        assertEquals(new TransferItemCache.TransferItemCacheReference(new TransferItem(f)).hashCode(), new NSObjectPathReference(NSObjectTransferItemReference.get(f)).hashCode());
        assertEquals(new TransferItemCache.TransferItemCacheReference(new TransferItem(f)).toString(), new NSObjectPathReference(NSObjectTransferItemReference.get(f)).toString());
        assertEquals(new TransferItemCache.TransferItemCacheReference(new TransferItem(f)), new NSObjectPathReference(NSObjectTransferItemReference.get(f)));
    }