@Test
  public void testEventIDForGEODE100Member() throws IOException, ClassNotFoundException {
    InternalDistributedMember distributedMember = new InternalDistributedMember("localhost", 10999);
    HeapDataOutputStream hdos = new HeapDataOutputStream(256, KnownVersion.CURRENT);
    distributedMember.writeEssentialData(hdos);
    byte[] memberBytes = hdos.toByteArray();
    EventID eventID = new EventID(memberBytes, 1, 1);


    HeapDataOutputStream hdos90 = new HeapDataOutputStream(256, KnownVersion.GFE_90);
    VersionedDataOutputStream dop = new VersionedDataOutputStream(hdos90, KnownVersion.GFE_90);

    eventID.toData(dop, InternalDataSerializer.createSerializationContext(dop));

    ByteArrayInputStream bais = new ByteArrayInputStream(hdos90.toByteArray());


    VersionedDataInputStream dataInputStream =
        new VersionedDataInputStream(bais, KnownVersion.GFE_90);

    EventID eventID2 = new EventID();
    eventID2.fromData(dataInputStream, mock(DeserializationContext.class));

    assertEquals(distributedMember, eventID2.getDistributedMember(KnownVersion.GFE_90));

    assertEquals(memberBytes.length + 17, eventID2.getMembershipID().length);
  }
Tests the eventId optimization APIs <code>EventID#getOptimizedByteArrayForEventID</code> and
<code>EventID#readEventIdPartsFromOptmizedByteArray</code> for int-long combinations for
threadId and sequenceId values.
geode-core/src/test/java/org/apache/geode/internal/cache/ha/EventIdOptimizationJUnitTest.java