code: def process(self, envelope):
  		
  
  		def process_single_layer(iter_envelope, iter_obj):
  			layer = self.onion().layer(iter_obj.layer_name())
  			layer_args = iter_obj.layer_args()
  			return layer.process(iter_envelope, self, **layer_args)
  
  		iterator = self.session_flow().iterator(envelope)
  		if iterator is not None:
  			while iterator is not None:
  				envelope = process_single_layer(envelope, iterator)
  				iterator = iterator.next(envelope)
  		return envelope
docs: :meth:`.WMessengerOnionSessionProto.process` method implementation.