ExternalSystemException (@NotNull Throwable error, @NotNull String projectPath, @Nullable String buildFilePath) { if (error instanceof ExternalSystemException) { // This is already a user-friendly error. return (ExternalSystemException)error; } if (myRootCauseAndLocation == null) { myRootCauseAndLocation = getRootCauseAndLocation(error); } if (myRootCauseAndLocation.first instanceof FileNotFoundException) { Throwable errorCause = error.getCause(); if (errorCause instanceof IllegalArgumentException && DOWNLOAD_GRADLE_DISTIBUTION_ERROR_PATTERN.matcher(errorCause.getMessage()).matches()) { return createUserFriendlyError(errorCause.getMessage(), null); } } return null; }