docs: @SuppressWarnings("unchecked")
  	protected void copySRE() {
  		final IStructuredSelection selection = (IStructuredSelection) this.sresList.getSelection();
  		final Iterator<ISREInstall> it = selection.iterator();
  
  		final List<ISREInstall> newEntries = new ArrayList<>();
  		while (it.hasNext()) {
  			final ISREInstall selectedSRE = it.next();
  
  			final ISREInstall copy = selectedSRE.copy(createUniqueIdentifier());
  			copy.setName(createUniqueName(selectedSRE.getName()));
  
  			final EditSREInstallWizard wizard = new EditSREInstallWizard(
  					copy, this.sreArray.toArray(new ISREInstall[this.sreArray.size()]));
  			final WizardDialog dialog = new WizardDialog(getShell(), wizard);
  			final int dlgResult = dialog.open();
  			if (dlgResult == Window.OK) {
  				newEntries.add(copy);
  			} else {
  				assert dlgResult == Window.CANCEL;
  				// Canceling one wizard should cancel all subsequent wizards
  				break;
  			}
  		}
  		if (!newEntries.isEmpty()) {
  			this.sreArray.addAll(newEntries);
  			refreshSREListUI();
  			this.sresList.setSelection(new StructuredSelection(newEntries.toArray()));
  		} else {
  			this.sresList.setSelection(selection);
  		}
  		this.sresList.refresh(true);
  		updateUI();
  	}