}
public static boolean fillInBindingValueCompletionProposals(IJavaProject project, IType elementType, String token, int tokenOffset, int offset, Set<WodCompletionProposal> completionProposalsSet, TypeCache cache) throws JavaModelException {
boolean checkBindingType = false;
String partialToken = partialToken(token, tokenOffset, offset);
BindingValueKeyPath bindingKeyPath = new BindingValueKeyPath(partialToken, elementType, project, cache);
List<BindingValueKey> possibleBindingKeyMatchesList = bindingKeyPath.getPartialMatchesForLastBindingKey(false);
if (possibleBindingKeyMatchesList != null) {
String bindingKeyName;
if (bindingKeyPath.getOperator() != null) {
bindingKeyName = "@" + bindingKeyPath.getOperator();
}
else {
bindingKeyName = bindingKeyPath.getLastBindingKeyName();
}
WodCompletionUtils._fillInCompletionProposals(possibleBindingKeyMatchesList, bindingKeyName, tokenOffset + partialToken.lastIndexOf('.') + 1, offset, completionProposalsSet, true);
}
// Only do binding type checks if you're on the first of a keypath ...
if (bindingKeyPath != null && bindingKeyPath.getLength() == 1) {
checkBindingType = true;
}
return checkBindingType;
}