void (@NotNull FileTypeBean fileTypeBean, @NotNull PluginDescriptor pluginDescriptor) { fireBeforeFileTypesChanged(); initializeMatchers(pluginDescriptor, fileTypeBean); FileTypeBean pendingFileTypeBean = withReadLock(() -> myPendingFileTypes.get(fileTypeBean.name)); if (pendingFileTypeBean != null) { // a new matcher is being added to the already existing but not yet instantiated file type instantiateFileTypeBean(pendingFileTypeBean); } FileType fileType = mergeOrInstantiateFileTypeBean(fileTypeBean); fireFileTypesChanged(fileType, null); }