<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def window_size(self, value):
 """Set private ``_window_size`` and reset ``_block_matcher``."""

        if (value > 4 and
            value < self.parameter_maxima["window_size"] and
            value % 2):
            self._window_size = value
        else:
            raise InvalidWindowSizeError("Window size must be an odd number "
                                      "between 0 and {}.".format(
                                      self.parameter_maxima["window_size"] + 1))
        self._replace_bm()