File () { try { try (DirectoryStream<Path> ds = Files.newDirectoryStream(BREW_GRADLE_LOCATION)) { Path bestPath = null; Version highestVersion = null; for (Path path : ds) { String fileName = path.getFileName().toString(); try { Version version = Version.parseVersion(fileName); if (version == null) continue; if (highestVersion == null || version.compareTo(highestVersion) > 0) { highestVersion = version; bestPath = path; } } catch (NumberFormatException ignored) { } } if (bestPath != null) { Path libexecPath = bestPath.resolve(LIBEXEC); if (Files.exists(libexecPath)) { return libexecPath.toFile(); } } } } catch (Exception ignored) { } return null; }