Bug 117071 MembersOrderPreferenceCache leaking a propertyChangeListener
20051109 org.eclipse.jdt.ui.PreferenceConstants#initializeDefaultValues adds a listener to JDT UI preference store but this is not deleted before shutdown.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/MembersOrderPreferenceCache.java
offsets[STATIC_METHODS_INDEX]= i++;
			} else if ("C".equals(token)) { 
				offsets[CONSTRUCTORS_INDEX]= i++;
			}
		}
		return i == N_CATEGORIES;
	}
	
	public boolean isSortByVisibility() {
		return fSortByVisibility;
	}
				
	public int getVisibilityIndex(int modifierFlags) {
		if (fVisibilityOffsets == null) {
			fVisibilityOffsets= getVisibilityOffsets();
		}
		int kind= DEFAULT_INDEX;
		if (Flags.isPublic(modifierFlags)) {
			kind= PUBLIC_INDEX;
		} else if (Flags.isProtected(modifierFlags)) {
			kind= PROTECTED_INDEX;
		} else if (Flags.isPrivate(modifierFlags)) {
			kind= PRIVATE_INDEX;
		}
		
		return fVisibilityOffsets[kind];
	}
	
	private int[] getVisibilityOffsets() {
		int[] offsets= new int[N_VISIBILITIES];