List<AdditionalDataConfigurable> (Sdk sdk) { final SdkType sdkType = (SdkType)sdk.getSdkType(); List<AdditionalDataConfigurable> configurables = myAdditionalDataConfigurables.get(sdkType); if (configurables == null) { configurables = new ArrayList<>(); myAdditionalDataConfigurables.put(sdkType, configurables); AdditionalDataConfigurable sdkConfigurable = sdkType.createAdditionalDataConfigurable(mySdkModel, myEditedSdkModificator); if (sdkConfigurable != null) { configurables.add(sdkConfigurable); } for (SdkEditorAdditionalOptionsProvider factory : SdkEditorAdditionalOptionsProvider.getSdkOptionsFactory(mySdk.getSdkType())) { AdditionalDataConfigurable options = factory.createOptions(myProject, mySdk); if (options != null) { configurables.add(options); } } } return configurables; }