@Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }

        if (!(o instanceof EntryView that)) {
            return false;
        }

        return getKey().equals(that.getKey())
                && getValue().equals(that.getValue())
                && getVersion() == that.getVersion()
                && getCost() == that.getCost()
                && getCreationTime() == that.getCreationTime()
                && getExpirationTime() == that.getExpirationTime()
                && getHits() == that.getHits()
                && getLastAccessTime() == that.getLastAccessTime()
                && getLastStoredTime() == that.getLastStoredTime()
                && getLastUpdateTime() == that.getLastUpdateTime()
                && getTtl() == that.getTtl();
    }
@Test
    public void test_equals() {
        EntryView entryView = createLazyEvictableEntryView();

        assertTrue(view.equals(entryView) && entryView.equals(view));
    }