public VariableBlock(IStatusChangeListener context, boolean useAsSelectionDialog) {
public VariableBlock(IStatusChangeListener context, boolean useAsSelectionDialog, String initSelection) {
	public VariableBlock(IStatusChangeListener context, boolean useAsSelectionDialog) {			fContext= context;		fUseAsSelectionDialog= useAsSelectionDialog;		fSelectionStatus= new StatusInfo();				String[] buttonLabels= new String[] { 			JavaPlugin.getResourceString(ADD), JavaPlugin.getResourceString(EDIT)		};							ArrayList reserved= new ArrayList(3);		CPVariableElement rtlib= new CPVariableElement(ClasspathVariablesPreferencePage.JDKLIB_VARIABLE, null);		reserved.add(rtlib);						VariablesAdapter adapter= new VariablesAdapter();				CPVariableElementLabelProvider labelProvider= new CPVariableElementLabelProvider();				fVariablesList= new ListDialogField(adapter, buttonLabels, labelProvider, 0);		fVariablesList.setDialogFieldListener(adapter);		fVariablesList.setLabelText(JavaPlugin.getResourceString(VARS + ".label"));		fVariablesList.setRemoveButtonLabel(JavaPlugin.getResourceString(VARS + ".remove.button"));		fReservedList= new ListDialogField(adapter, null, labelProvider, 0);		fReservedList.setDialogFieldListener(adapter);		fReservedList.setLabelText(JavaPlugin.getResourceString(RESERVED + ".label"));				String[] entries= JavaCore.getClasspathVariableNames();		ArrayList elements= new ArrayList(entries.length);		for (int i= 0; i < entries.length; i++) {			String name= entries[i];			IPath entryPath= JavaCore.getClasspathVariable(name);			if (entryPath != null) {				CPVariableElement elem= new CPVariableElement(name, entryPath);				if (!reserved.contains(elem)) {					elements.add(elem);				}			} else {				JavaPlugin.log(new Exception("classpath variable not found: " + name));			}		}		fVariablesList.setElements(elements);		fReservedList.setElements(reserved);			}