def METHOD_NAME(self, parameters):
    parameters.evaluate(simplify=True)
    for key, value in parameters.items():
        if key == "amplitude_values":
            assert isinstance(value, Sequence)
            step_times = parameters["amplitude_times"].value
            step_amplitudes = parameters["amplitude_values"].value
            step_times, step_amplitudes = self._check_step_times(
                step_times, step_amplitudes, self.timestep)
            parameters["amplitude_times"].value = step_times
            parameters["amplitude_values"].value = step_amplitudes
            nest.SetStatus(self._device, {key: step_amplitudes,
                                          'amplitude_times': step_times})
        elif key in ("start", "stop"):
            nest.SetStatus(self._device, {key: self._delay_correction(value)})
            if key == "start" and type(self).__name__ == "ACSource":
                self._phase_correction(self.start, self.frequency, self.phase_given)
        elif key == "frequency":
            nest.SetStatus(self._device, {key: value})
            self._phase_correction(self.start, self.frequency, self.phase_given)
        elif key == "phase":
            self.phase_given = value
            self._phase_correction(self.start, self.frequency, self.phase_given)
        elif not key == "amplitude_times":
            nest.SetStatus(self._device, {key: value})