// 1. Channel id must be in its own message.
// 2. Synthesize the open-finished marker that the box server leaves out.
if (update.hasChannelId()
&& (update.hasCommitNotice() || update.hasMarker() || update.hasSnapshot() || update
.getAppliedDeltaSize() > 0)) {
ProtocolWaveletUpdate fake = ProtocolWaveletUpdateJsoImpl.create();
fake.setChannelId(update.getChannelId());
update.clearChannelId();
callback.onUpdate(deserialize(fake));
callback.onUpdate(deserialize(update));
} else {
callback.onUpdate(deserialize(update));