public LanguageViolationConfigurationPanel(
      String language, List<RuleType> ruletypes, List<Severity> severityNames, TaskServiceImpl ts) {
    this.language = language;
    this.ruletypes = ruletypes;
    this.ts = ts;
    String[] ruletypeColumnNames = {"Ruletype", "Severity"};
    ruletypeModel = new ComboBoxTableModel(ruletypeColumnNames, 0, severityNames);
    ruletypeModel.setTypes(new Class[] {java.lang.String.class, java.lang.String.class});
    ruletypeModel.setCanEdit(new Boolean[] {false, true});

    String[] violationtypeModelHeaders = {"Violationtype", "Severity", "Active"};
    violationtypeModel = new ComboBoxTableModel(violationtypeModelHeaders, 0, severityNames);
    violationtypeModel.setTypes(new Class[] {String.class, String.class, Boolean.class});
    violationtypeModel.setCanEdit(new Boolean[] {false, true, true});

    initComponents();

    TableColumnModel tcm = ruletypeTable.getColumnModel();
    tcm.getColumn(1).setCellEditor(ruletypeModel.getEditor());

    LoadRuleTypes();
  }