List<String> (Module module) { XmlFile xml = PluginModuleType.getPluginXml(module); if (xml == null) return Collections.emptyList(); IdeaPlugin plugin = getIdeaPlugin(xml); if (plugin == null) return Collections.emptyList(); List<String> result = new ArrayList<>(); ContainerUtil.addIfNotNull(result, plugin.getPluginId()); for (Dependency dependency : plugin.getDepends()) { if (Boolean.TRUE.equals(dependency.getOptional().getValue())) { ContainerUtil.addIfNotNull(result, dependency.getRawText()); } } return result; }