function stripChainWrappers(rootNode, path) {
	const strip = (node) =>
		(node && node.type === Syntax.ChainExpression ? node.expression : node);

	let curNode = strip(rootNode);

	if (path) {
		const chunks = path.split(".");

		while (chunks.length) {
			const name = chunks.shift();
			curNode = curNode &&  strip(curNode[name]);
		}
	}

	return curNode;
}
Navigates in the given tree of AST nodes (node) along the given path of property names.
Any reached ChainExpression wrappers are skipped (ignored).

@param {Node} rootNode Root of a tree of MemberExpressison nodes
@param {string} path Path to navigate along
@returns {Node} The target node at the end of the path or undefined