code: private void changeMethodConfigPanel(AuthenticationMethodType newMethodType) {
  		// If there's no new method, don't display anything
  		if (newMethodType == null) {
  			getConfigContainerPanel().removeAll();
  			getConfigContainerPanel().setVisible(false);
  			this.shownMethodType = null;
  			return;
  		}
  
  		// If a panel of the correct type is already shown, do nothing
  		if (shownMethodType != null && newMethodType.getClass().equals(shownMethodType.getClass())) {
  			return;
  		}
  
  		if (log.isDebugEnabled()) {
  			log.debug("Creating new panel for configuring: " + newMethodType.getName());
  		}
  		this.getConfigContainerPanel().removeAll();
  
  		// show the panel according to whether the authentication type needs configuration
  		if (newMethodType.hasOptionsPanel()) {
  			shownConfigPanel = newMethodType.buildOptionsPanel(getUISharedContext());
  			getConfigContainerPanel().add(shownConfigPanel, BorderLayout.CENTER);
  		} else {
  			shownConfigPanel = null;
  			getConfigContainerPanel().add(new JLabel(LABEL_CONFIG_NOT_NEEDED), BorderLayout.CENTER);
  		}
  		this.shownMethodType = newMethodType;
  
  		this.getConfigContainerPanel().setVisible(true);
  		this.getConfigContainerPanel().revalidate();
  	}
docs: Changes the shown method's configuration panel (used to display brief info about the method
  and configure it) with a new one, based on a new method type. If {@code null} is provided as
  a parameter, nothing is shown. If the provided method type does not require configuration, a
  simple message is shown stating that no configuration is needed.
  
  @param newMethodType the new method type. If null, nothing is shown.