<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def download(self, savepath=None, keep_original_name=False, **kwargs):
 """ Downloads this items media to the specified location. Returns a list of filepaths that have been saved to disk. Parameters: savepath (str):
 Title of the track to return. keep_original_name (bool):
 Set True to keep the original filename as stored in the Plex server. False will create a new filename with the format "<Artist> - <Album> <Track>". kwargs (dict):
 If specified, a :func:`~plexapi.audio.Track.getStreamURL()` will be returned and the additional arguments passed in will be sent to that function. If kwargs is not specified, the media items will be downloaded and saved to disk. """

        filepaths = []
        locations = [i for i in self.iterParts() if i]
        for location in locations:
            filename = location.file
            if keep_original_name is False:
                filename = '%s.%s' % (self._prettyfilename(), location.container)
            # So this seems to be a alot slower but allows transcode.
            if kwargs:
                download_url = self.getStreamURL(**kwargs)
            else:
                download_url = self._server.url('%s?download=1' % location.key)
            filepath = utils.download(download_url, self._server._token, filename=filename,
                savepath=savepath, session=self._server._session)
            if filepath:
                filepaths.append(filepath)
        return filepaths