protected @Nullable Path getExecutable() {
    String customPath = System.getProperty(PROPERTY_WATCHER_EXECUTABLE_PATH);
    if (customPath != null) {
      Path customFile = PathManager.findBinFile(customPath);
      return customFile == null ? Path.of(customPath) : customFile;
    }

    String name = null;
    if (SystemInfo.isWindows && (CpuArch.isIntel64() || CpuArch.isArm64())) {
      name = "fsnotifier.exe";
    }
    else if (SystemInfo.isMac) {
      name = "fsnotifier";
    }
    else if (SystemInfo.isLinux && (CpuArch.isIntel64() || CpuArch.isArm64())) {
      name = "fsnotifier";
    }
    if (name != null) {
      Path file = PathManager.findBinFile(name);
      if (file != null) {
        return file;
      }
    }
    return null;
  }
protected @Nullable Path getExecutable()