/// <summary> /// Starts a new path. /// </summary> public void StartNewPath() { Debug.Assert(this.ParamExpressionInScope != null, "this.ParamExpressionInScope != null -- should not be starting new path with no lambda parameter in scope."); PathSegmentToken basePath = basePaths[this.ParamExpressionInScope]; PathSegmentToken newExpandPathToAdd; if (basePath != null) { NewTreeBuilder newTreeBuilder = new NewTreeBuilder(); newExpandPathToAdd = basePath.Accept(newTreeBuilder); } else { newExpandPathToAdd = null; } expandPaths.Add(newExpandPathToAdd); firstSegmentInNewPath = true; basePathIsEmpty = basePath == null; }