<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_fmri_upsert_property(self, experiment_id, properties):
 """Upsert property of fMRI data object associated with given experiment. Raises ValueError if given property dictionary results in an illegal operation. Parameters experiment_id : string Unique experiment identifier properties : Dictionary() Dictionary of property names and their new values. Returns ------- FMRIDataHandle Handle for updated object of None if object doesn't exist """

        # Get experiment fMRI to ensure that it exists. Needed to get fMRI
        # data object identifier for given experiment identifier
        fmri = self.experiments_fmri_get(experiment_id)
        if fmri is None:
            return None
        # Update properties for fMRI object using the object identifier
        return self.funcdata.upsert_object_property(fmri.identifier, properties)