<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_download(self, experiment_id, run_id):
 """Donwload the results of a prediction for a given experiment. Parameters experiment_id : string Unique experiment identifier run_id : string Unique model run identifier Returns ------- FileInfo Information about prediction result file on disk or None if prediction is unknown or has no result """

        # Get model run to ensure that it exists
        model_run = self.experiments_predictions_get(experiment_id, run_id)
        if model_run is None:
            return None
        # Make sure the run has completed successfully
        if not model_run.state.is_success:
            return None
        # Get functional data object for result. Return None if this is None.
        # Alternatively throw an exception to signal invalid database state.
        funcdata = self.funcdata.get_object(model_run.state.model_output)
        if funcdata is None:
            return None
        # Return information about the result file
        return FileInfo(
            funcdata.upload_file,
            funcdata.properties[datastore.PROPERTY_MIMETYPE],
            funcdata.properties[datastore.PROPERTY_FILENAME]
        )