def realpath(self):
        if self.islink():
            result = os.path.realpath(self.path)
            if result == self.path:
                raise LinkError("Cyclical link - will loop forever")
            return self.clonePath(result)
        return self
Return a decorator that attaches a callback to a hook. See
dataset/ETHPy150Open nlloyd/SubliminalCollaborator/libs/twisted/python/filepath.py/FilePath.realpath--crossover with--dataset/ETHPy150Open Arelle/Arelle/arelle/webserver/bottle.py/Bottle.hook