def METHOD_NAME(self, *args, **kwargs):  # type: ignore[misc]
    if "inplace" in kwargs:
        raise ValueError(f"cannot use inplace with {type(self).__name__}")
    result = attr(self._data, *args, **kwargs)
    if wrap:
        if isinstance(result, type(self._data)):
            return type(self)._simple_new(result, name=self.name)
        elif isinstance(result, ABCDataFrame):
            return result.set_index(self)
        return Index(result, name=self.name)
    return result