def METHOD_NAME(self, *args, **kwargs) -> IterDataPipe:
    res = self.deterministic_fn(*args, **kwargs)  # type: ignore
    if not isinstance(res, bool):
        raise TypeError(
            "deterministic_fn of `non_deterministic` decorator is required "
            "to return a boolean value, but {} is found".format(type(res))
        )
    global _determinism
    if _determinism and res:
        raise TypeError(
            "{} is non-deterministic with the inputs, but you set "
            "'guaranteed_datapipes_determinism'. You can turn off determinism "
            "for this DataPipe if that is acceptable for your application".format(
                self.cls.__name__
            )
        )  # type: ignore
    return self.cls(*args, **kwargs)  # type: ignore