private void register(@NotNull FileType fileType,
                          @NotNull PluginDescriptor pluginDescriptor,
                          @NotNull List<? extends FileNameMatcher> fileNameMatchers) {
      String typeName = fileType.getName();
      instantiatePendingFileTypeByName(typeName);
      for (FileNameMatcher matcher : fileNameMatchers) {
        FileTypeBean pendingTypeByMatcher = pendingAssociations.findAssociatedFileType(matcher);
        if (pendingTypeByMatcher != null) {
          PluginId pluginId = pendingTypeByMatcher.getPluginId();
          if (PluginManagerCore.CORE_ID.equals(pluginId)) {
            instantiateFileTypeBean(pendingTypeByMatcher);
          }
        }
      }

      StandardFileType type = standardFileTypes.get(typeName);
      if (type == null) {
        PluginAdvertiserExtensionsStateService pluginAdvertiserExtensionsStateService =
          PluginAdvertiserExtensionsStateService.Companion.getInstance();
        standardFileTypes.put(typeName, new StandardFileType(fileType, pluginDescriptor, fileNameMatchers));
        registerFileTypeWithoutNotification(fileType, pluginDescriptor, fileNameMatchers, pluginAdvertiserExtensionsStateService, true);
      }
      else {
        type.matchers.addAll(fileNameMatchers);
        for (FileNameMatcher matcher : fileNameMatchers) {
          patternsTable.addAssociation(matcher, type.getDescriptor());
        }
      }
    }
private void register(@NotNull FileType fileType,
                          @NotNull PluginDescriptor pluginDescriptor,
                          @NotNull List<? extends FileNameMatcher> fileNameMatchers)