def invert(self, data=None, err=None, **kwargs):
        """
        Parameters
        ----------
        limits: {str: [min, max]}
            Set limits for parameter by parameter name.
        startModel: {str: startModel}
            Set the start value for parameter by parameter name.
        """
        dataSpace = kwargs.pop(self.fop.dataSpaceName, None)

        if dataSpace is not None:
            self.fop.dataSpace = dataSpace

        limits = kwargs.pop('limits', {})

        for k, v in limits.items():
            self.fop.setRegionProperties(k, limits=v)

        startModel = kwargs.pop('startModel', {})

        if isinstance(startModel, dict):
            for k, v in startModel.items():
                self.fop.setRegionProperties(k, startModel=v)
        else:
            kwargs['startModel'] = startModel

        return super(ParameterInversionManager, self).invert(data=data,
                                                             err=err,
                                                             **kwargs)