code: protected ILocationData getLocationWithoutTypeArguments(XAbstractFeatureCall call) {
  		final ICompositeNode startNode = NodeModelUtils.getNode(call);
  		if (startNode != null) {
  			List<INode> resultNodes = Lists.newArrayList();
  			if (call instanceof XFeatureCall || call instanceof XMemberFeatureCall) {
  				boolean featureReferenceSeen = false;
  				for (INode child : startNode.getChildren()) {
  					if (featureReferenceSeen) {
  						resultNodes.add(child);
  					} else {
  						EObject grammarElement = child.getGrammarElement();
  						if (grammarElement instanceof CrossReference) {
  							Assignment assignment = GrammarUtil.containingAssignment(grammarElement);
  							if (assignment != null && "feature".equals(assignment.getFeature())) {
  								featureReferenceSeen = true;
  								resultNodes.add(child);
  							}
  						}
  					}
  				}
  			}
  			return toLocationData(resultNodes);
  		}
  		return null;
  	}
docs: /* @Nullable