@ApiStatus.Experimental
  @NotNull
  public BuildLayoutParameters guessBuildLayoutParameters(@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);
    });
  }
@ApiStatus.Experimental
  @NotNull
  public BuildLayoutParameters guessBuildLayoutParameters(@NotNull Project project, @Nullable String projectPath)