:meth:`.WMessengerOnionCoderLayerProto.encode` method implementation.

		:param envelope: original envelope
		:param session: original session
		:param aes_cipher: cipher to use
		:param kwargs: additional arguments

		:return: WMessengerBytesEnvelope

def encode(self, envelope, session, aes_cipher=None, **kwargs):
		""" :meth:`.WMessengerOnionCoderLayerProto.encode` method implementation.

		:param envelope: original envelope
		:param session: original session
		:param aes_cipher: cipher to use
		:param kwargs: additional arguments

		:return: WMessengerBytesEnvelope
		"""
		return WMessengerBytesEnvelope(aes_cipher.encrypt(envelope.message()), meta=envelope)