private String[] guessParameters(char[][] parameterNames, CompletionProposal proposal) throws JavaModelException { int count = parameterNames.length; String[] result = new String[count]; String[] parameterTypes = getParameterTypes(proposal); IJavaElement[][] assignableElements = getAssignableElements(proposal); ParameterGuesser guesser = new ParameterGuesser(compilationUnit); for (int i = count - 1; i >= 0; i--) { String paramName = new String(parameterNames[i]); String argumentProposal = guesser.parameterProposals(parameterTypes[i], paramName, assignableElements[i]); if (argumentProposal != null) { result[i] = argumentProposal; } else { result[i] = paramName; } } return result; }