void (@NotNull IdeaModule gradleModule, @NotNull DataNode<ModuleData> ideModule) { GradleExtensions gradleExtensions = resolverCtx.getExtraProject(gradleModule, GradleExtensions.class); if (gradleExtensions != null) { //noinspection ConditionCoveredByFurtherCondition boolean isGradleProxyClass = gradleExtensions instanceof Proxy || !(gradleExtensions instanceof DefaultGradleExtensions); DefaultGradleExtensions extensions = isGradleProxyClass ? new DefaultGradleExtensions(gradleExtensions) : (DefaultGradleExtensions)gradleExtensions; ExternalProject externalProject = getExternalProject(gradleModule, resolverCtx); if (externalProject != null) { extensions.addTasks(externalProject.getTasks().values()); } ideModule.createChild(GradleExtensionsDataService.KEY, extensions); } final IntelliJSettings intellijSettings = resolverCtx.getExtraProject(gradleModule, IntelliJSettings.class); if (intellijSettings != null) { ideModule.createChild(ProjectKeys.CONFIGURATION, new ConfigurationDataImpl(GradleConstants.SYSTEM_ID, intellijSettings.getSettings())); } ProjectImportAction.AllModels models = resolverCtx.getModels(); ExternalTestsModel externalTestsModel = models.getModel(gradleModule, ExternalTestsModel.class); if (externalTestsModel != null) { for (ExternalTestSourceMapping testSourceMapping : externalTestsModel.getTestSourceMappings()) { String testName = testSourceMapping.getTestName(); String testTaskName = testSourceMapping.getTestTaskPath(); Set<String> sourceFolders = testSourceMapping.getSourceFolders(); TestData testData = new TestData(GradleConstants.SYSTEM_ID, testName, testTaskName, sourceFolders); ideModule.createChild(ProjectKeys.TEST, testData); } } }