public void testEventsFromFirstDeltaAreFiltered() throws Exception {
// Robot receives two deltas, it is participant in wavelet before deltas.
wavelet.addParticipant(BOB);
HashedVersion endVersion = HashedVersion.unsigned(waveletData.getVersion());
List<WaveletOperation> ops1 = Lists.newArrayList(output.getOps());
TransformedWaveletDelta delta1 = makeDeltaFromCapturedOps(ROBOT, ops1, endVersion, 0L);
output.clear();
// Delta2 event #1.
ObservableConversationView conversation = conversationUtil.buildConversation(wavelet);
ObservableConversationBlip newBlip = conversation.getRoot().getRootThread().appendBlip();
XmlStringBuilder builder = XmlStringBuilder.createText("some random content");
// Delta2 event #2.
LineContainers.appendToLastLine(newBlip.getContent(), builder);
// Delta2 event #3.
wavelet.removeParticipant(BOB);
List<WaveletOperation> ops2 = Lists.newArrayList(output.getOps());
HashedVersion endVersion2 = HashedVersion.unsigned(waveletData.getVersion());
TransformedWaveletDelta delta2 = makeDeltaFromCapturedOps(ALEX, ops2, endVersion2, 0L);
output.clear();
EventMessageBundle messages = generateEventsFromDeltas(delta1, delta2);
assertEquals("Expected three events", 3, messages.getEvents().size());
checkEventTypeWasGenerated(messages, EventType.WAVELET_BLIP_CREATED,