Bug 41750 [templates] Code assist not narrowing on templates
Build: I20030820 1) Start with: class A { public void foo() { sys } } 2) With the cursor after "sys", invoke code assist. Note that the templates "sysout", "syserr", etc are in the list. 3) Now type the letter "o". The list disappears, although "sysout" is still a valid match. Expect: it will fill in "sysout" since it's the only valid match 4) Delete the letter "o" and invoke code assist again. 5) Type the letter "t". The list narrows to exclude "sysout". 6) With code-assist still up, hit backspace. Now you have "sys" again, but it no longer recommends "sysout" as a possible completion.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchAdvisor.java
/**
	 * Returns the set of versioned feature ids of all installed features.
	 * The format of the ids are featureId + ":" + versionId.
	 * The feature set excludes features that do not have their own
	 * feature plug-in.
	 * 
	 * @return set of versioned feature ids (element type: <code>String</code>)
	 * @since 3.0
	 */
	private Set computeFeatureSet() {
		IPlatformConfiguration platformConfiguration = BootLoader.getCurrentPlatformConfiguration();
		IPlatformConfiguration.IFeatureEntry[] features = platformConfiguration.getConfiguredFeatureEntries();
		Set ids = new HashSet(features.length);
		for (int i = 0; i < features.length; i++) {
			IPlatformConfiguration.IFeatureEntry feature = features[i];
			
			String pluginId = feature.getFeaturePluginIdentifier();
			if (pluginId == null) {
				continue;
			}
			String id = feature.getFeatureIdentifier();
			String version = feature.getFeatureVersion();
			String normalizedVersion = "0.0.0"; 
			if (version != null) {
				
				PluginVersionIdentifier vid = new PluginVersionIdentifier(version);
				normalizedVersion = vid.toString();
			}
			String versionedId = id + ":" + normalizedVersion; 
			ids.add(versionedId);