Bug 92563 [content assist] Warm code assist performance for many types
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/ParameterGuessingProposal.java
if (fCompilationUnit == null) {
			for (int i= 0; i != fParameterNames.length; i++) {
				String name= new String(fParameterNames[i]);
				int length= name.length();
				fChoices[i]= new JavaCompletionProposal[] {new JavaCompletionProposal(name, offset, length, null, name, 0)};
				offset+= length + 2;
			}
			return fChoices;
		} else {
			synchronized (fCompilationUnit) {
				fCompilationUnit.reconcile(ICompilationUnit.NO_AST, false, null, null);
			}
			String[][] parameterTypes= getParameterSignatures();
			ParameterGuesser guesser= new ParameterGuesser(fCodeAssistOffset, fCompilationUnit);
			for (int i= fParameterNames.length - 1; i >= 0; i--) {
				positions[i]= new Position(0,0);
				String paramName= new String(fParameterNames[i]);
				ICompletionProposal[] parameters= guesser.parameterProposals(
					parameterTypes[i][0],
					parameterTypes[i][1],
					paramName,
					positions[i],
					document);
				int paramLength= paramName.length();
				if (parameters == null)
					fChoices[i]= new ICompletionProposal[] {new JavaCompletionProposal(paramName, offset, paramLength, null, paramName, 0)};
				else {
					fChoices[i]= parameters;
				}
				offset+= paramLength + 2;