code: def createPropagate(
              request: Union[Request, dict], client_name) -> Propagate:
          
          if not isinstance(request, (Request, dict)):
              logger.error("{}Request not formatted properly to create propagate"
                           .format(THREE_PC_PREFIX))
              return
          logger.trace("Creating PROPAGATE for REQUEST {}".format(request))
          request = request.as_dict if isinstance(request, Request) else \
              request
          if isinstance(client_name, bytes):
              client_name = client_name.decode()
          return Propagate(request, client_name)
docs: Create a new PROPAGATE for the given REQUEST.
  
          :param request: the client REQUEST
          :return: a new PROPAGATE msg