protected override void DoApply(IWaveletData wavelet) { if (!(_position == EndPosition ? wavelet.AddParticipant(ParticipantId) : wavelet.AddParticipant(ParticipantId, _position))) { throw new OperationException("Attempt to add a duplicate participant"); } }