def METHOD_NAME(self, conn):
    if self._on_nfs_cached is not None:
        return self._on_nfs_cached
    if not self.detect_nfs:
        return False
    self._on_nfs_cached = False
    fmt = "inode=%i,size=%s,modified=%Y"
    # The stat command is very different on MacOs
    platform = import_module('platform')
    if platform.system() == 'Darwin':
        darwin_fmt = "inode=%i,size=%z,modified=%m"
        local = subprocess.run(["stat", "-f", darwin_fmt, self.local_path],
                               stdout=subprocess.PIPE)
    else:
        local = subprocess.run(["stat", "--format", fmt, self.local_path],
                               stdout=subprocess.PIPE)
    if local.returncode != 0:
        self.logger.debug("local: stat: unsuccessful error code %d", local.returncode)
        return False
    remote = conn.run(f"stat --format '{fmt}' {self.local_path}",
                      decodeerrors="backslashreplace")
    if remote[2] != 0:
        self.logger.debug("remote: stat: unsuccessful error code %d", remote[2])
        return False
    localout = local.stdout.decode("utf-8", "backslashreplace").split('\n')
    localout.pop() # remove trailing empty element
    if remote[0] != localout:
        self.logger.debug("state: local (%s) and remote (%s) output don't match",
                          remote[0], localout)
        return False
    self.rpath = os.path.dirname(self.local_path) + "/"
    self._on_nfs_cached = True
    return True