void () { List<FileTypeBean> fileTypeBeans = EP_NAME.getExtensionList(); for (FileTypeBean bean : fileTypeBeans) { initializeMatchers(bean.getPluginDescriptor(), bean); } for (FileTypeBean bean : fileTypeBeans) { if (bean.implementationClass == null) continue; if (myPendingFileTypes.containsKey(bean.name)) { handleFileTypesConflict(bean, myPendingFileTypes.get(bean.name)); continue; } myPendingFileTypes.put(bean.name, bean); for (FileNameMatcher matcher : bean.getMatchers()) { myPendingAssociations.addAssociation(matcher, bean); } } // Register additional extensions for file types for (FileTypeBean bean : fileTypeBeans) { if (bean.implementationClass != null) continue; FileTypeBean oldBean = myPendingFileTypes.get(bean.name); if (oldBean == null) { LOG.error(new PluginException("Trying to add extensions to non-registered file type " + bean.name, bean.getPluginId())); continue; } oldBean.addMatchers(bean.getMatchers()); for (FileNameMatcher matcher : bean.getMatchers()) { myPendingAssociations.addAssociation(matcher, oldBean); } } }