code: def copy(self, folder):
          
          if self.object_id is None:
              raise RuntimeError('Attempting to move an unsaved Message')
  
          url = self.build_url(
              self._endpoints.get('copy_message').format(id=self.object_id))
  
          if isinstance(folder, str):
              folder_id = folder
          else:
              folder_id = getattr(folder, 'folder_id', None)
  
          if not folder_id:
              raise RuntimeError('Must Provide a valid folder_id')
  
          data = {self._cc('destinationId'): folder_id}
  
          response = self.con.post(url, data=data)
          if not response:
              return None
  
          message = response.json()
  
          # Everything received from cloud must be passed as self._cloud_data_key
          return self.__class__(parent=self, **{self._cloud_data_key: message})
docs: Copy the message to a given folder
  
          :param folder: Folder object or Folder id or Well-known name to
           copy this message to
          :type folder: str or mailbox.Folder
          :returns: the copied message
          :rtype: Message