Bug 73984 Editing user library jar path after path change does not work [build path]
1) Create a directory containing jar file 2) Add this jar file to a new user library 3) Rename directory from 1) 4) Update the path to jar file in user libraries (select old jar reference, select new location in browser, open -> path is not updated, but old path is still used
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/UserLibraryPreferencePage.java
import org.eclipse.jdt.internal.ui.wizards.buildpaths.CPListElement;
import org.eclipse.jdt.internal.ui.wizards.buildpaths.CPListElementAttribute;
import org.eclipse.jdt.internal.ui.wizards.buildpaths.CPListElementSorter;
import org.eclipse.jdt.internal.ui.wizards.buildpaths.CPListLabelProvider;
import org.eclipse.jdt.internal.ui.wizards.buildpaths.CPUserLibraryElement;
import org.eclipse.jdt.internal.ui.wizards.dialogfields.*;
public class UserLibraryPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
	public static final String ID= "org.eclipse.jdt.ui.preferences.UserLibraryPreferencePage"; 
	public static class LibraryNameDialog extends StatusDialog implements IDialogFieldListener {
		private StringDialogField fNameField;
		private SelectionButtonDialogField fIsSystemField;
		private CPUserLibraryElement fElementToEdit;
		private List fExistingLibraries;
		public LibraryNameDialog(Shell parent, CPUserLibraryElement elementToEdit, List existingLibraries) {
			super(parent);
			if (elementToEdit == null) { 
				setTitle(PreferencesMessages.getString("UserLibraryPreferencePage.LibraryNameDialog.new.title")); 
			} else {
				setTitle(PreferencesMessages.getString("UserLibraryPreferencePage.LibraryNameDialog.edit.title")); 
			}
			
			fElementToEdit= elementToEdit;
			fExistingLibraries= existingLibraries;
			
			fNameField= new StringDialogField();
			fNameField.setDialogFieldListener(this);
			fNameField.setLabelText(PreferencesMessages.getString("UserLibraryPreferencePage.LibraryNameDialog.name.label")); 
			
			fIsSystemField= new SelectionButtonDialogField(SWT.CHECK);
			fIsSystemField.setLabelText(PreferencesMessages.getString("UserLibraryPreferencePage.LibraryNameDialog.issystem.label"));