void ( @NotNull LongRunningOperation operation, @NotNull GradleExecutionSettings settings, @Nullable BuildEnvironment buildEnvironment ) { List<String> jvmArgs = settings.getJvmArguments(); if (!jvmArgs.isEmpty()) { // merge gradle args e.g. defined in gradle.properties Collection<String> merged; if (buildEnvironment != null) { // the BuildEnvironment jvm arguments of the main build should be used for the 'buildSrc' import // to avoid spawning of the second gradle daemon BuildIdentifier buildIdentifier = getBuildIdentifier(buildEnvironment); List<String> buildJvmArguments = buildIdentifier == null || "buildSrc".equals(buildIdentifier.getRootDir().getName()) ? ContainerUtil.emptyList() : buildEnvironment.getJava().getJvmArguments(); merged = mergeBuildJvmArguments(buildJvmArguments, jvmArgs); } else { merged = jvmArgs; } // filter nulls and empty strings List<String> filteredArgs = ContainerUtil.mapNotNull(merged, s -> StringUtil.isEmpty(s) ? null : s); operation.setJvmArguments(ArrayUtilRt.toStringArray(filteredArgs)); } }