Stamp implements Serializable { public Stamp event() { Event filled = Filler.fill(id, event); if (!filled.equals(event)) { return new Stamp(id, filled); } else { return new Stamp(id, Grower.grow(id, event)); } } Stamp();   Stamp(ID id, Event event); Stamp[] fork(); Stamp[] peek(); Stamp join(Stamp other); Stamp event(); @Override String toString(); @Override boolean equals(Object o); @Override int hashCode(); Stamp[] send(); Stamp receive(Stamp other); Stamp[] sync(Stamp other); boolean leq(Stamp other);  }
@Test public void testEvent() { for (Stamp stamp : stamps) { Stamp evented = stamp.event(); assertTrue(stamp.getEvent().leq(evented.getEvent())); assertNormalizedStamp(evented); } }