/**
* Creates wavelet snapshot with diff
*/
public WaveletDiffSnapshot createWaveletDiffMessage(WaveletDataImpl intermediateWavelet,
WaveletDataImpl currentWavelet, StringMap<Long> lastReadVersions, List<String> mutations) {
WaveletDiffSnapshot waveletDiff = MessageFactoryHelper.createWaveletDiffSnapshot();
waveletDiff.setWaveletId(
ModernIdSerialiser.INSTANCE.serialiseWaveletId(currentWavelet.getWaveletId()));
waveletDiff.addAllParticipant(listOfParticipantAddresses(currentWavelet.getParticipants()));
waveletDiff.addAllDocument(getDocumentDiffs(
intermediateWavelet, mutations, lastReadVersions, currentWavelet));
waveletDiff.setVersion(currentWavelet.getVersion());
waveletDiff.setLastModifiedTime(currentWavelet.getLastModifiedTime());
waveletDiff.setCreator(currentWavelet.getCreator().getAddress());
waveletDiff.setCreationTime(currentWavelet.getCreationTime());
return waveletDiff;
}