ProjectJdkImpl (@NotNull Collection<? extends Sdk> allSdks, @NotNull String homePath, @NotNull SdkType sdkType, @Nullable SdkAdditionalData additionalData, @Nullable String customSdkSuggestedName) { final String sdkName = customSdkSuggestedName == null ? createUniqueSdkName(sdkType, homePath, allSdks) : createUniqueSdkName(customSdkSuggestedName, allSdks); final ProjectJdkImpl sdk = new ProjectJdkImpl(sdkName, sdkType); if (additionalData != null) { // additional initialization. // E.g. some ruby sdks must be initialized before // setupSdkPaths() method invocation sdk.setSdkAdditionalData(additionalData); } sdk.setHomePath(homePath); return sdk; }