<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def use_mutation(module_path, operator, occurrence):
 """A context manager that applies a mutation for the duration of a with-block. This applies a mutation to a file on disk, and after the with-block it put the unmutated code back in place. Args: module_path: The path to the module to mutate. operator: The `Operator` instance to use. occurrence: The occurrence of the operator to apply. Yields: A `(unmutated-code, mutated-code)` tuple to the with-block. If there was no mutation performed, the `mutated-code` is `None`. """

    original_code, mutated_code = apply_mutation(module_path, operator,
                                                 occurrence)
    try:
        yield original_code, mutated_code
    finally:
        with module_path.open(mode='wt', encoding='utf-8') as handle:
            handle.write(original_code)
            handle.flush()