private static @Nullable URI parseDistributionUri(@NotNull Properties props, @NotNull Path propertiesFile) {
    String distributionUrl = props.getProperty(WrapperExecutor.DISTRIBUTION_URL_PROPERTY);
    if (isEmpty(distributionUrl)) {
      GradleLog.LOG.warn(String.format("Wrapper 'distributionUrl' property does not exist in file '%s'", propertiesFile.toAbsolutePath()));
      return null;
    }
    try {
      URI source = new URI(distributionUrl);
      return source.getScheme() != null ? source : propertiesFile.resolveSibling(source.getSchemeSpecificPart()).toUri();
    }
    catch (URISyntaxException e) {
      GradleLog.LOG.warn(
        String.format("Unable to resolve Gradle distribution path '%s' in file '%s'", distributionUrl, propertiesFile.toAbsolutePath()));
    }
    return null;
  }
private static @Nullable URI parseDistributionUri(@NotNull Properties props, @NotNull Path propertiesFile)