code: def _process_response(self, reply):
          
          self._advance_cluster_time(reply.get('$clusterTime'))
          self._advance_operation_time(reply.get('operationTime'))
          if self._in_transaction and self._transaction.sharded:
              recovery_token = reply.get('recoveryToken')
              if recovery_token:
                  self._transaction.recovery_token = recovery_token
docs: Process a response to a command that was run with this session.