@Override
    public int hashCode() {
        return ((int) this.lowerPart)
                ^ ((int) (this.lowerPart >>> 32))
                ^ ((int) this.upperPart)
                ^ ((int) (this.upperPart >>> 32));
    }
@Test
    void testSerialization() throws Exception {
        final AbstractID origID = new AbstractID();
        final AbstractID copyID = CommonTestUtils.createCopySerializable(origID);

        assertThat(copyID).hasSameHashCodeAs(origID.hashCode());
        assertThat(copyID).isEqualTo(origID);
    }