@Override
    public void fileTypesChanged(@NotNull FileTypeEvent event) {
      FileType addedFileType = event.getAddedFileType();
      if (addedFileType != null) {
        String name = addedFileType.getName();
        switch (name) {
          case "JAVA" -> JAVA = (LanguageFileType)addedFileType;
          case "CLASS" -> CLASS = addedFileType;
          case "JSP" -> JSP = (LanguageFileType)addedFileType;
          case "JSPX" -> JSPX = (LanguageFileType)addedFileType;
          case "XML" -> XML = (LanguageFileType)addedFileType;
          case "DTD" -> DTD = (LanguageFileType)addedFileType;
          case "HTML" -> HTML = (LanguageFileType)addedFileType;
          case "XHTML" -> XHTML = (LanguageFileType)addedFileType;
          case "JavaScript" -> JS = (LanguageFileType)addedFileType;
          case "Properties" -> PROPERTIES = (LanguageFileType)addedFileType;
          case "GUI_DESIGNER_FORM" -> GUI_DESIGNER_FORM = addedFileType;
        }
      }

      FileType removedFileType = event.getRemovedFileType();
      if (removedFileType != null) {
        String name = removedFileType.getName();
        switch (name) {
          case "JAVA" -> JAVA = PLAIN_TEXT;
          case "CLASS" -> CLASS = PLAIN_TEXT;
          case "JSP" -> JSP = PLAIN_TEXT;
          case "JSPX" -> JSPX = PLAIN_TEXT;
          case "XML" -> XML = PLAIN_TEXT;
          case "DTD" -> DTD = PLAIN_TEXT;
          case "HTML" -> HTML = PLAIN_TEXT;
          case "XHTML" -> XHTML = PLAIN_TEXT;
          case "JavaScript" -> JS = PLAIN_TEXT;
          case "Properties" -> PROPERTIES = PLAIN_TEXT;
          case "GUI_DESIGNER_FORM" -> GUI_DESIGNER_FORM = PLAIN_TEXT;
          case "PATCH" -> {}
        }
      }
    }
@Override
    public void fileTypesChanged(@NotNull FileTypeEvent event)