<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _get_casing_permutations(cls, input_string):
 """ Takes a string and gives all possible permutations of casing for comparative purposes :param input_string: str, name of object :return: Generator(str), iterator of all possible permutations of casing for the input_string """

        if not input_string:
            yield ""
        else:
            first = input_string[:1]
            for sub_casing in cls._get_casing_permutations(input_string[1:]):
                yield first.lower() + sub_casing
                yield first.upper() + sub_casing