Bug 24199 New Classpath Variables
Why should a full rebuild of the workspace be required when you add a classpath variable? Because it's a new variable it doesn't affect any existing projects. It would be more convenient if a rebuild were not required when adding a new classpath variable. Thanks.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/buildpaths/VariableBlock.java
boolean containsReserved= containsReserved(selected);
		
		
		fVariablesList.enableButton(1, isSingleSelected && !containsReserved);
		
		fVariablesList.enableButton(3, !containsReserved);
		
		fSelectedElements= selected;
	}
	
	private void editEntries(CPVariableElement entry) {
		List existingEntries= fVariablesList.getElements();
		VariableCreationDialog dialog= new VariableCreationDialog(getShell(), entry, existingEntries);
		if (dialog.open() != VariableCreationDialog.OK) {
			return;
		}
		CPVariableElement newEntry= dialog.getClasspathElement();
		if (entry == null) {
			fVariablesList.addElement(newEntry);
			entry= newEntry;
		} else {
			entry.setName(newEntry.getName());
			entry.setPath(newEntry.getPath());
			fVariablesList.refresh();
		}
		fVariablesList.selectElements(new StructuredSelection(entry));
	}
	
	public List getSelectedElements() {
		return fSelectedElements;