Supplier<Boolean> (@NlsSafe @NotNull String name) { if (Strings.containsAnyChar(name, "/\\")) { throw new IllegalArgumentException(name); } return new SynchronizedClearableLazy<>(() -> { String path = EnvironmentUtil.getValue("PATH"); if (path != null) { for (String dir : StringUtil.tokenize(path, File.pathSeparator)) { if (new File(dir, name).canExecute()) { return true; } } } return false; }); }