@Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        MutableLong that = (MutableLong) o;
        return value == that.value;
    }
@Test
    public void testEquals() {
        assertEquals(MutableLong.valueOf(0), MutableLong.valueOf(0));
        assertEquals(MutableLong.valueOf(10), MutableLong.valueOf(10));
        assertNotEquals(MutableLong.valueOf(0), MutableLong.valueOf(10));
        assertNotEquals(null, MutableLong.valueOf(0));
        assertNotEquals("foo", MutableLong.valueOf(0));


        MutableLong self = MutableLong.valueOf(0);
        assertEquals(self, self);
    }