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");
     }
 }