private void ApplyIndentationToAlignWithGivenToken( SyntaxToken token, IList <TokenData> list, Dictionary <SyntaxToken, int> previousChangesMap, CancellationToken cancellationToken) { // rather than having external new changes map, having snapshot concept // in token stream might be easier to understand. int baseSpaceOrIndentation = _tokenStream.GetCurrentColumn(token); for (int i = 0; i < list.Count; i++) { var currentToken = list[i]; var previousToken = _tokenStream.GetPreviousTokenData(currentToken); var triviaInfo = _tokenStream.GetTriviaData(previousToken, currentToken); if (!triviaInfo.SecondTokenIsFirstTokenOnLine) { continue; } ApplyIndentationToGivenPosition( previousToken, currentToken, triviaInfo, baseSpaceOrIndentation, previousChangesMap, cancellationToken); } }