docs: private JPanel getPanelSpider() {
  		if (panelSpider == null) {
  
  			// Initialize the panel
  			panelSpider = new JPanel(new BorderLayout());
  			if (Model.getSingleton().getOptionsParam().getViewParam().getWmUiHandlingOption() == 0) {
  				panelSpider.setSize(114, 150);
  			}
  			panelSpider.setName("");
  
  			// Prepare the necessary labels
  			JLabel domainsLabel = new JLabel();
  			JLabel noThreadsLabel = new JLabel();
  			JLabel maxDuration = new JLabel();
  			JLabel maxDepthLabel = new JLabel();
  			JLabel handleParametersLabel = new JLabel();
  
  			maxDepthLabel.setText(Constant.messages.getString("spider.options.label.depth"));
  			noThreadsLabel.setText(Constant.messages.getString("spider.options.label.threads"));
  			maxDuration.setText(Constant.messages.getString("spider.options.label.duration"));
  			domainsLabel.setText(Constant.messages.getString("spider.options.label.domains"));
  			handleParametersLabel.setText(Constant.messages.getString("spider.options.label.handleparameters"));
  
  			JPanel innerPanel = new JPanel(new GridBagLayout());
  
  			GridBagConstraints gbc = new GridBagConstraints();
  			gbc.gridx = 0;
  			gbc.weightx = 1.0D;
  			gbc.fill = GridBagConstraints.HORIZONTAL;
  			gbc.anchor = GridBagConstraints.NORTHWEST;
  			Insets insets = new Insets(2, 2, 2, 2);
  			gbc.insets = insets;
  
  			// Add the components on the panel
  			innerPanel.add(maxDepthLabel, gbc);
  			innerPanel.add(getSliderMaxDepth(), gbc);
  			innerPanel.add(noThreadsLabel, gbc);
  			innerPanel.add(getSliderThreads(), gbc);
  			
  			JPanel inlineOptionsPanel = new JPanel(new GridBagLayout());
  			inlineOptionsPanel.add(maxDuration, LayoutHelper.getGBC(0, 0, 1, 1.0D));
  			inlineOptionsPanel.add(getDurationNumberSpinner(), LayoutHelper.getGBC(1, 0, 1, 1.0D));
  
  			inlineOptionsPanel.add(
  					new JLabel(Constant.messages.getString("spider.options.label.maxChildren")),
  					LayoutHelper.getGBC(0, 1, 1, 1.0D));
  			inlineOptionsPanel.add(getMaxChildrenNumberSpinner(), LayoutHelper.getGBC(1, 1, 1, 1.0D));
  
  			inlineOptionsPanel.add(
  					new JLabel(Constant.messages.getString("spider.options.label.maxParseSizeBytes")),
  					LayoutHelper.getGBC(0, 2, 1, 1.0D));
  			inlineOptionsPanel.add(getMaxParseSizeBytesNumberSpinner(), LayoutHelper.getGBC(1, 2, 1, 1.0D));
  
  			innerPanel.add(inlineOptionsPanel, gbc);
  			
  			innerPanel.add(domainsLabel, gbc);
  			gbc.fill = GridBagConstraints.BOTH;
  			gbc.weighty = 1.0D;
  			innerPanel.add(getDomainsAlwaysInScopePanel(), gbc);
  			gbc.fill = GridBagConstraints.HORIZONTAL;
  			gbc.weighty = 0;
  			innerPanel.add(getChkSendRefererHeader(), gbc);
  			innerPanel.add(getChkAcceptCookies(), gbc);
  			innerPanel.add(handleParametersLabel, gbc);
  			innerPanel.add(getComboHandleParameters(), gbc);
  			innerPanel.add(getChkProcessForm(), gbc);
  			insets.left = 15;
  			innerPanel.add(getChkPostForm(), gbc);
  			insets.left = 2;
  			innerPanel.add(getChkParseComments(), gbc);
  			innerPanel.add(getChkParseRobotsTxt(), gbc);
  			innerPanel.add(getChkParseSitemapXml(), gbc);
  			innerPanel.add(getChkParseSVNEntries(), gbc);
  			innerPanel.add(getChkParseGit(), gbc);
  			innerPanel.add(getHandleODataSpecificParameters(), gbc);
  
  			JScrollPane scrollPane = new JScrollPane(innerPanel);
  			scrollPane.setBorder(BorderFactory.createEmptyBorder());
  
  			panelSpider.add(scrollPane, BorderLayout.CENTER);
  		}
  		return panelSpider;
  	}