code: def assemble(cls, header_json, metadata_json, content_json):
          ''' Creates a new message, assembled from JSON fragments.
  
          Args:
              header_json (``JSON``) :
  
              metadata_json (``JSON``) :
  
              content_json (``JSON``) :
  
          Returns:
              Message subclass
  
          Raises:
              MessageError
  
          '''
  
          try:
              header = json_decode(header_json)
          except ValueError:
              raise MessageError("header could not be decoded")
  
          try:
              metadata = json_decode(metadata_json)
          except ValueError:
              raise MessageError("metadata could not be decoded")
  
          try:
              content = json_decode(content_json)
          except ValueError:
              raise MessageError("content could not be decoded")
  
          msg = cls(header, metadata, content)
  
          msg._header_json = header_json
          msg._metadata_json = metadata_json
          msg._content_json = content_json
  
          return msf assemble(cls, header_json, metadata_json, content_json):
          ''' Creates a new message, assembled from JSON fragments.
  
          Args:
              header_json (``JSON``) :
  
              metadata_json (``JSON``) :
  
              content_json (``JSON``) :
  
          Returns:
              Message subclass
  
          Raises:
              MessageError
  
          '''
  
          try:
              header = json_decode(header_json)
          except ValueError:
              raise MessageError("header could not be decoded")
  
          try:
              metadata = json_decode(metadata_json)
          except ValueError:
              raise MessageError("metadata could not be decoded")
  
          try:
              content = json_decode(content_json)
          except ValueError:
              raise MessageError("content could not be decoded")
  
          msg = cls(header, metadata, content)
  
          msg._header_json = header_json
          msg._metadata_json = metadata_json
          msg._content_json = content_json
  
          return msg
docs: Creates a new message, assembled from JSON fragments.
  
          Args:
              header_json (``JSON``) :
  
              metadata_json (``JSON``) :
  
              content_json (``JSON``) :
  
          Returns:
              Message subclass
  
          Raises:
              MessageError