@Override
    public boolean equals(Object other) {
        if (!(other instanceof Versioned)) {
            return false;
        }
        Versioned<V> that = (Versioned) other;
        return Objects.equal(this.value, that.value) &&
               Objects.equal(this.version, that.version) &&
               Objects.equal(this.creationTime, that.creationTime);
    }
@Test
    public void testEquals() {
        new EqualsTester()
                .addEqualityGroup(stats1, stats1)
                .addEqualityGroup(stats2)
                .testEquals();
    }