docs: @Override
      public void createControl(Composite parent) {
          comp = new Composite(parent, SWT.BORDER);
          GridLayout layout = new GridLayout();
          layout.numColumns = 2;
          layout.marginHeight = 0;
          layout.marginWidth = 0;
          comp.setLayout(layout);
          GridData gd = new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL | GridData.GRAB_HORIZONTAL);
          gd.heightHint = 400;
          gd.widthHint = 400;
          comp.setLayoutData(gd);
          setControl(comp);
  
          Label label = new Label(comp, SWT.NONE);
          label.setText("Sort by:");
  
          final Combo sortByCombo = new Combo(comp, SWT.READ_ONLY);
          final String[] items = new String[] { "Name", "Not filtered bug count", "Overall bug count" };
          sortByCombo.setItems(items);
  
          String sortOrder = FindbugsPlugin.getDefault().getPreferenceStore().getString(FindBugsConstants.EXPORT_SORT_ORDER);
          if (FindBugsConstants.ORDER_BY_NOT_FILTERED_BUGS_COUNT.equals(sortOrder)) {
              sortByCombo.select(1);
          } else if (FindBugsConstants.ORDER_BY_OVERALL_BUGS_COUNT.equals(sortOrder)) {
              sortByCombo.select(2);
          } else {
              sortByCombo.select(0);
          }
          sortBy = sortByCombo.getSelectionIndex();
  
          sortByCombo.addSelectionListener(new SelectionAdapter() {
              @Override
              public void widgetDefaultSelected(SelectionEvent e) {
                  widgetSelected(e);
              }
  
              @Override
              public void widgetSelected(SelectionEvent e) {
                  sortBy = sortByCombo.getSelectionIndex();
              }
          });
  
          label = new Label(comp, SWT.NONE);
          label.setText("Filter bug ids:");
  
          Button button = new Button(comp, SWT.PUSH);
          button.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
          button.setText("Browse...");
          button.addSelectionListener(new SelectionListener() {
              @Override
              public void widgetDefaultSelected(SelectionEvent e) {
                  widgetSelected(e);
              }
  
              @Override
              public void widgetSelected(SelectionEvent e) {
                  Set<BugPattern> filtered = FindbugsPlugin.getFilteredPatterns();
                  Set<BugCode> filteredTypes = FindbugsPlugin.getFilteredPatternTypes();
                  FilterBugsDialog dialog = new FilterBugsDialog(getShell(), filtered, filteredTypes);
                  dialog.setTitle("Bug Filter Configuration");
                  int result = dialog.open();
                  if (result != Window.OK) {
                      return;
                  }
                  String selectedIds = dialog.getSelectedIds();
  
                  FindbugsPlugin.getDefault().getPreferenceStore().setValue(FindBugsConstants.LAST_USED_EXPORT_FILTER, selectedIds);
                  filteredBugIdsText.setText(selectedIds);
              }
          });
  
          label = new Label(comp, SWT.NONE);
          label.setText("");
          filteredBugIdsText = new Text(comp, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.WRAP | SWT.READ_ONLY);
          GridData layoutData = new GridData(GridData.FILL_BOTH);
          layoutData.heightHint = 200;
          layoutData.widthHint = 400;
          filteredBugIdsText.setLayoutData(layoutData);
          filteredBugIdsText.setText(FindbugsPlugin.getDefault().getPreferenceStore()
                  .getString(FindBugsConstants.LAST_USED_EXPORT_FILTER));
          filteredBugIdsText.setToolTipText("Bug ids to filter, separated by comma or space");
      }