Bug 117493 [content assist] CompletionRequestor#completionFailure(IProblem)) is ignored
This got introduced after 3.2 M1 (i.e. broken in 3.2 M2 and newer). If completion fails we now always show: "No completion available." instead of the real error text. Example: for (Iterator i=things.iterator(); i.<ctrl-space> // Iterator not yet imported)
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/ContentAssistProcessor.java
*/
	public IContextInformation[] computeContextInformation(ITextViewer viewer, int offset) {
		IProgressMonitor monitor= createProgressMonitor();
		monitor.beginTask(JavaTextMessages.ContentAssistProcessor_computing_contexts, fCategories.size() + 1);
		
		monitor.subTask(JavaTextMessages.ContentAssistProcessor_collecting_contexts);
		List proposals= collectContextInformation(viewer, offset, monitor);
		monitor.subTask(JavaTextMessages.ContentAssistProcessor_sorting_contexts);
		List filtered= filterAndSortContextInformation(proposals, monitor);
		
		IContextInformation[] result= (IContextInformation[]) filtered.toArray(new IContextInformation[filtered.size()]);
		monitor.done();
		return result;
	}
	private List collectContextInformation(ITextViewer viewer, int offset, IProgressMonitor monitor) {
		List proposals= new ArrayList();
		TextContentAssistInvocationContext context= createContext(viewer, offset);
		
		List providers= getCategories();
		for (Iterator it= providers.iterator(); it.hasNext();) {
			CompletionProposalCategory cat= (CompletionProposalCategory) it.next();
			List computed= cat.computeContextInformation(context, fPartition, new SubProgressMonitor(monitor, 1));
			proposals.addAll(computed);
		}
		
		return proposals;
	}
	/**
	 * Filters and sorts the context information objects. The passed
	 * list may be modified and returned, or a new list may be created