Bug 127045 TypeInfoUtil.searchTypeInfo unnecessary
20060209 TypeInfoUtil.searchTypeInfo performs a search just to get a type info. This is too expensive and unnecessary. Either change the history to store qualified names or allow to create a type info from a qualified name (problem is the enclosing type names, so either we cheat there, or we need also the package name to evaluate the enclosing type names)
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/LazyJavaTypeCompletionProposal.java
fImportRewrite= createImportRewrite();
		if (fImportRewrite != null) {
			return fImportRewrite.addImport(getQualifiedTypeName(), fImportContext);
		}
		
		if (fCompilationUnit != null) {
			if (JavaModelUtil.isImplicitImport(Signature.getQualifier(getQualifiedTypeName()), fCompilationUnit))
				return getSimpleTypeName();
			else
				return getQualifiedTypeName();
		}
		
		return getQualifiedTypeName();
	}
	protected final boolean isImportCompletion() {
		char[] completion= fProposal.getCompletion();
		return completion.length > 0 && completion[completion.length - 1] == ';';
	}
	private ImportRewrite createImportRewrite() {
		if (fCompilationUnit != null && allowAddingImports()) {
			try {
				CompilationUnit cu= createASTRoot(fCompilationUnit);
				if (cu == null) {
					ImportRewrite rewrite= StubUtility.createImportRewrite(fCompilationUnit, true);
					fImportContext= null;
					return rewrite;
				} else {
					ImportRewrite rewrite= StubUtility.createImportRewrite(cu, true);
					fImportContext= new ContextSensitiveImportRewriteContext(cu, fInvocationContext.getInvocationOffset(), rewrite);