def METHOD_NAME(original_iterator):  # type: (t.Iterable[t.Any]) -> t.Generator
    # Ref: https://stackoverflow.com/a/30232619/595220
    _copiable_iterator, _first_iterator_copy = itertools.tee(original_iterator)
    yield _first_iterator_copy
    while True:
        yield copy.copy(_copiable_iterator)