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))