:param str folder_id: The Folder ID of what will be the new parent folder, of this folder.
    Move folder to a different location, specified by folder_id::

      folder = service.folder().get_folder(id)
      folder.move_to(folder_id="ID of new location's folder")

def move_to(self, folder_id):
    """
    :param str folder_id: The Folder ID of what will be the new parent folder, of this folder.
    Move folder to a different location, specified by folder_id::

      folder = service.folder().get_folder(id)
      folder.move_to(folder_id="ID of new location's folder")
    """

    if not folder_id:
      raise TypeError(u"You can't move to a non-existant folder")

    if not isinstance(folder_id, BASESTRING_TYPES):
      raise TypeError(u"folder_id must be a string")

    if not self.id:
      raise TypeError(u"You can't move a folder that hasn't been created yet.")

    response_xml = self.service.send(soap_request.move_folder(self, folder_id))  # noqa

    result_id, result_key = self._parse_id_and_change_key_from_response(response_xml)
    if self.id != result_id:
      raise ValueError(u"MoveFolder returned success but requested folder not moved")

    self.parent_id = folder_id
    return self