code: private void sendMessageToSelfAndDeferRetirement(ActiveInvokeContext<EhcacheEntityResponse> context, KeyBasedServerStoreOpMessage message, Chain newChain) {
      try {
        long clientId = context.getClientSource().toLong();
        entityMessenger.messageSelfAndDeferRetirement(message, new PassiveReplicationMessage.ChainReplicationMessage(message.getKey(), newChain,
          context.getCurrentTransactionId(), context.getOldestTransactionId(), clientId));
      } catch (MessageCodecException e) {
        throw new AssertionError("Codec error", e);
      }
    }
docs: Send a {@link PassiveReplicationMessage} to the passive, reuse the same transaction id and client id as the original message since this
  original message won't ever be sent to the passive and these ids will be used to prevent duplication if the active goes down and the
  client resends the original message to the passive (now our new active).
  
  @param context context of the message
  @param message message to be forwarded
  @param newChain resulting chain to send