BuildLayoutParameters (@NotNull Project project, @Nullable String projectPath) { return myBuildLayoutParametersCache.computeIfAbsent(ObjectUtils.notNull(projectPath, getDefaultProjectKey(project)), p -> { for (ExternalSystemExecutionAware executionAware : ExternalSystemExecutionAware.getExtensions(GradleConstants.SYSTEM_ID)) { if (!(executionAware instanceof GradleExecutionAware gradleExecutionAware)) continue; BuildLayoutParameters buildLayoutParameters = projectPath == null ? gradleExecutionAware.getDefaultBuildLayoutParameters(project) : gradleExecutionAware.getBuildLayoutParameters(project, projectPath); if (buildLayoutParameters != null) { return buildLayoutParameters; } } return new LocalGradleExecutionAware().getBuildLayoutParameters(project, projectPath); }); }