Bug 92563 [content assist] Warm code assist performance for many types
org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/text/java/CompletionProposalCollector.java
for (int index= 0; index < paramTypes.length; index++)
			paramTypes[index]= Signature.toString(paramTypes[index]);
		String completion= String.valueOf(proposal.getCompletion());
		int start= proposal.getReplaceStart();
		int length= getLength(proposal);
		String label= fLabelProvider.createOverrideMethodProposalLabel(proposal);
		JavaCompletionProposal javaProposal= new OverrideCompletionProposal(fJavaProject, fCompilationUnit, name, paramTypes, start, length, label, completion);
		javaProposal.setImage(getImage(fLabelProvider.createMethodImageDescriptor(proposal)));
		javaProposal.setProposalInfo(new MethodProposalInfo(fJavaProject, proposal));
		javaProposal.setRelevance(computeRelevance(proposal));
		fSuggestedMethodNames.add(new String(name));
		return javaProposal;
	}
	private IJavaCompletionProposal createMethodReferenceProposal(CompletionProposal methodProposal) {
		Image image= getImage(fLabelProvider.createMethodImageDescriptor(methodProposal));
		String displayName= fLabelProvider.createMethodProposalLabel(methodProposal);
		String completion= String.valueOf(methodProposal.getCompletion());
		int start= methodProposal.getReplaceStart();
		int relevance= computeRelevance(methodProposal);
		JavaCompletionProposal proposal= new JavaCompletionProposal(completion, start, getLength(methodProposal), image, displayName, relevance);
		if (fJavaProject != null)
			proposal.setProposalInfo(new MethodProposalInfo(fJavaProject, methodProposal));
		boolean hasParameters= Signature.getParameterCount(methodProposal.getSignature()) > 0;
		if (hasParameters) {
			IContextInformation contextInformation= createMethodContextInformation(methodProposal);
			proposal.setContextInformation(contextInformation);
			proposal.setTriggerCharacters(METHOD_WITH_ARGUMENTS_TRIGGERS);
			if (completion.endsWith(")")) { 
				
				proposal.setCursorPosition(completion.length() - 1);