// A collection_valued_field is designated by the name of an association field in a
// one-to-many or a many-to-many relationship or by the name of an element collection field
Resolver resolver = getResolver(expression);
IType type = resolver.getType();
IMapping mapping = resolver.getMapping();
// Does not resolve to a valid path
if (!type.isResolvable() || (mapping == null)) {
int startIndex = position(expression);
int endIndex = startIndex + length(expression);