@Override public void onWaveletUpdate(List<TransformedWaveletDelta> deltas, HashedVersion lastCommittedVersion, HashedVersion currentSignedVersion) throws ChannelException { switch (state) { case INITIAL: Preconditions.checkState(lastServerVersion == NO_VERSION, "Expected no last version for initial state"); processConnectUpdateMessage(deltas, lastCommittedVersion, currentSignedVersion); break; case CONNECTED: Preconditions.checkState(lastServerVersion >= 0, "Expected last server version > 0"); processUpdateMessage(deltas, lastCommittedVersion); break; } }