<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def experiments_predictions_attachments_download(self, experiment_id, run_id, resource_id):
 """Download a data file that has been attached with a successful model run. Parameters experiment_id : string Unique experiment identifier model_id : string Unique identifier of model to run resource_id : string Unique attachment identifier Returns ------- FileInfo Information about attachmed file on disk or None if attachment with given resource identifier exists """

        # Get experiment to ensure that it exists
        if self.experiments_get(experiment_id) is None:
            return None
        attachment, mime_type = self.predictions.get_data_file_attachment(
            run_id,
            resource_id
        )
        if attachment is None:
            return  None
        # Return information about the result file
        return FileInfo(attachment, mime_type, os.path.basename(attachment))