Bug 77222 Import Selection Dialog Improvements
It is very annoying, when importing List, to have to choose which List I want, especially since I nearly ALWAYS choose java.util.List. Specifically, when doing an Organize Imports, a dialog shows up, and it appears to list all of the List classes in alphabetical order by package name. (I think this dialog will show up in other places, but I'm not sure. I know I also see the same list ina different form with QuickFix- Add Import). I envision a number of different ways this list of classes can be improved, but (1) the simplest to use and maybe implement would be to make sort-order pluggable. I can see two variants on sort order that I might like - 1a) Let the user define preferences based on leading package fragments - java.*, before all others 1b) Sort the list based on frequency of use in the current project. This way, over time, the ones I'm using naturally bubble to the top. (2) An additional possibility would be to allow the user to explictly exclude/hide classes they never use. A number of libraries I use might have their own List, which is public, but it's never intended to be used by the clients of the JAR. If I could, over time, build up this knoweldgebase of classes in libraries that I just do not want to see, or very seldom wish to see, the list could be appropriately resticted.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/javadoc/JavaDocCompletionEvaluator.java
nameBuffer.append(containerName);
			} else {
				nameBuffer.append(JavaDocMessages.getString("CompletionEvaluator.default_package")); 
			}
		}
		String imageKey= isClass ? JavaPluginImages.IMG_OBJS_CLASS : JavaPluginImages.IMG_OBJS_INTERFACE;
		int compLen= completion.length;
		if (compLen > 0 && completion[compLen - 1] == ';') {
			compLen--; 
		}
		JavaCompletionProposal proposal= new JavaCompletionProposal(new String(completion, 0, compLen), start, end - start, JavaPluginImages.get(imageKey), nameBuffer.toString(), severity);
		proposal.setProposalInfo(proposalInfo);
		proposal.setTriggerCharacters( new char[] { '#' });
		return proposal;
	}
	/* (non-Javadoc)
	 * @see org.eclipse.jdt.ui.text.java.IJavaDocCompletionProcessor#computeContextInformation(org.eclipse.jdt.core.ICompilationUnit, int)
	 */
	public IContextInformation[] computeContextInformation(ICompilationUnit cu, int offset) {
		fErrorMessage= null;
		return null;
	}
	/* (non-Javadoc)
	 * @see org.eclipse.jdt.ui.text.java.IJavaDocCompletionProcessor#getErrorMessage()
	 */
	public String getErrorMessage() {
		return fErrorMessage;
	}
}