docs: private void initialize() {
          this.setLayout(new GridBagLayout());
          this.setSize(375, 205);
          this.setName("categoryPanel");
  
          // Add Attack settings section - a copy of the options dialog
          // ---------------------------------------------
          
          int row = 0;
          this.add(new JLabel(Constant.messages.getString("ascan.policy.name.label")),
                  LayoutHelper.getGBC(0, row, 1, 0.0D, 0, GridBagConstraints.HORIZONTAL, new Insets(2, 2, 2, 2)));
          if (this.switchable) {
          	this.add(getPolicySelector(),
          			LayoutHelper.getGBC(1, row, 2, 1.0D, 0, GridBagConstraints.HORIZONTAL, new Insets(2, 2, 2, 2)));
          } else {
          	this.add(getPolicyName(),
          			LayoutHelper.getGBC(1, row, 2, 1.0D, 0, GridBagConstraints.HORIZONTAL, new Insets(2, 2, 2, 2)));
          }
  
          row++;
          this.add(new JLabel(Constant.messages.getString("ascan.options.level.label")),
                  LayoutHelper.getGBC(0, row, 1, 0.0D, 0, GridBagConstraints.HORIZONTAL, new Insets(2, 2, 2, 2)));
          this.add(getComboThreshold(),
                  LayoutHelper.getGBC(1, row, 1, 0.0D, 0, GridBagConstraints.HORIZONTAL, new Insets(2, 2, 2, 2)));
          this.add(getThresholdNotes(),
                  LayoutHelper.getGBC(2, row, 1, 1.0D, 0, GridBagConstraints.HORIZONTAL, new Insets(2, 2, 2, 2)));
  
          row++;
          this.add(new JLabel(Constant.messages.getString("ascan.options.strength.label")),
                  LayoutHelper.getGBC(0, row, 1, 0.0D, 0, GridBagConstraints.HORIZONTAL, new Insets(2, 2, 2, 2)));
          this.add(getComboStrength(),
                  LayoutHelper.getGBC(1, row, 1, 0.0D, 0, GridBagConstraints.HORIZONTAL, new Insets(2, 2, 2, 2)));
          this.add(getStrengthNotes(),
                  LayoutHelper.getGBC(2, row, 1, 1.0D, 0, GridBagConstraints.HORIZONTAL, new Insets(2, 2, 2, 2)));
  
          // 'Apply to' controls
          JPanel applyToPanel = new JPanel();
          applyToPanel.setLayout(new GridBagLayout());
          applyToPanel.add(new JLabel(Constant.messages.getString("ascan.options.apply.label")), 
          		LayoutHelper.getGBC(0, 0, 1, 0.0, new Insets(2, 2, 2, 2)));
          applyToPanel.add(getApplyToThreshold(), LayoutHelper.getGBC(1, 0, 1, 0.0));
          applyToPanel.add(new JLabel(Constant.messages.getString("ascan.options.thresholdTo.label")), 
          		LayoutHelper.getGBC(2, 0, 1, 0.0, new Insets(2, 2, 2, 2)));
          applyToPanel.add(getApplyToThresholdTarget(), LayoutHelper.getGBC(3, 0, 1, 0.0));
          applyToPanel.add(new JLabel(Constant.messages.getString("ascan.options.rules.label")), LayoutHelper.getGBC(4, 0, 1, 0.0, new Insets(2, 2, 2, 2)));
          JButton applyThresholdButton = new JButton(Constant.messages.getString("ascan.options.go.button"));
          applyThresholdButton.addActionListener(new ActionListener() {
  			@Override
  			public void actionPerformed(ActionEvent e) {
  				applyThreshold (strToThreshold((String)getApplyToThreshold().getSelectedItem()),
  						(String)getApplyToThresholdTarget().getSelectedItem());
  				getAllCategoryTableModel().fireTableDataChanged();
  				
  			}});
          applyToPanel.add(applyThresholdButton, LayoutHelper.getGBC(5, 0, 1, 0.0));
          applyToPanel.add(new JLabel(""), LayoutHelper.getGBC(6, 0, 1, 1.0));	// Spacer
          
          applyToPanel.add(new JLabel(Constant.messages.getString("ascan.options.apply.label")), 
          		LayoutHelper.getGBC(0, 1, 1, 0.0, new Insets(2, 2, 2, 2)));
          applyToPanel.add(getApplyToStrength(), LayoutHelper.getGBC(1, 1, 1, 0.0));
          applyToPanel.add(new JLabel(Constant.messages.getString("ascan.options.strengthTo.label")), LayoutHelper.getGBC(2, 1, 1, 0.0, new Insets(2, 2, 2, 2)));
          applyToPanel.add(getApplyToStrengthTarget(), LayoutHelper.getGBC(3, 1, 1, 0.0));
          applyToPanel.add(new JLabel(Constant.messages.getString("ascan.options.rules.label")), LayoutHelper.getGBC(4, 1, 1, 0.0, new Insets(2, 2, 2, 2)));
          JButton applyStrengthButton = new JButton(Constant.messages.getString("ascan.options.go.button"));
          applyStrengthButton.addActionListener(new ActionListener() {
  			@Override
  			public void actionPerformed(ActionEvent e) {
  				applyStrength (strToStrength((String)getApplyToStrength().getSelectedItem()),
  						(String)getApplyToStrengthTarget().getSelectedItem());
  				getAllCategoryTableModel().fireTableDataChanged();
  				
  			}});
          applyToPanel.add(applyStrengthButton, LayoutHelper.getGBC(5, 1, 1, 0.0));
          applyToPanel.add(new JLabel(""), LayoutHelper.getGBC(6, 1, 1, 1.0));	// Spacer
          
          row++;
          this.add(applyToPanel,
                  LayoutHelper.getGBC(0, row, 3, 0.0D, 0.0D, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0)));
      
          // Add the scrolling list of active plugin categories
          row++;
          this.add(getJScrollPane(),
                  LayoutHelper.getGBC(0, row, 3, 1.0D, 1.0D, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0)));
          this.setThreshold(policy.getDefaultThreshold());
          this.setStrength(policy.getDefaultStrength());
      }