def METHOD_NAME(self, i):
    r"""
    Implements :meth:`CoxeterGroups.ElementMethods.apply_simple_reflection`.
    EXAMPLES::
        sage: D5 = FiniteCoxeterGroups().example(5)
        sage: [i^2 for i in D5]  # indirect doctest
        [(), (), (), (1, 2, 1, 2), (2, 1, 2, 1), (), (), (2, 1), (1, 2), ()]
        sage: [i^5 for i in D5]  # indirect doctest
        [(), (1,), (2,), (), (), (1, 2, 1), (2, 1, 2), (), (), (1, 2, 1, 2, 1)]
    """
    from copy import copy
    reduced_word = copy(self.value)
    n = self.parent().n
    if len(reduced_word) == n:
        if (i == 1 and is_odd(n)) or (i == 2 and is_even(n)):
            return self.parent()(reduced_word[:-1])
        else:
            return self.parent()(reduced_word[1:])
    elif (len(reduced_word) == n - 1 and (not self.has_descent(i))) and (reduced_word[0] == 2):
        return self.parent()((1,) + reduced_word)
    else:
        if self.has_descent(i):
            return self.parent()(reduced_word[:-1])
        else:
            return self.parent()(reduced_word + (i,))