private void unregisterFileTypeWithoutNotification(@NotNull FileType fileType) {
    PluginDescriptor pluginDescriptor = findPluginDescriptor(fileType);
    FileTypeWithDescriptor ftd = FileTypeWithDescriptor.allFor(fileType);
    List<FileNameMatcher> matchers = patternsTable.getAssociations(ftd);
    // delete all records "extension xxx is removed from standard type X because the new fileType grabbed it to itself"
    removedMappingTracker.removeIf(mapping -> {
      return mapping.getFileTypeName().equals(fileType.getName()) || matchers.contains(mapping.getFileNameMatcher());
    });
    patternsTable.removeAllAssociations(ftd);
    initialAssociations.removeAllAssociations(fileType);
    schemeManager.removeScheme(fileType.getName());
    if (fileType instanceof FileTypeIdentifiableByVirtualFile fakeFileType) {
      specialFileTypes = ArrayUtil.remove(specialFileTypes, fakeFileType, FileTypeIdentifiableByVirtualFile.ARRAY_FACTORY);
    }
    if (pluginDescriptor != null) {
      removeFromDuplicates(fileType, pluginDescriptor);
    }
  }
private void unregisterFileTypeWithoutNotification(@NotNull FileType fileType)