private static bool ContainsInterleavedDirective(
            SyntaxNode statement,
            StatementSyntax embeddedStatement,
            CancellationToken cancellationToken
            )
        {
            if (statement.IsKind(SyntaxKind.IfStatement, out IfStatementSyntax ifStatementNode))
            {
                var elseNode = ifStatementNode.Else;
                if (elseNode != null && !embeddedStatement.IsMissing)
                {
                    // For IF/ELSE statements, only the IF part should be checked for interleaved directives when the diagnostic is triggered on the IF.
                    // A separate diagnostic will be triggered to handle the ELSE part.
                    var ifStatementSpanWithoutElse = TextSpan.FromBounds(
                        statement.Span.Start,
                        embeddedStatement.Span.End
                        );
                    return(statement.ContainsInterleavedDirective(
                               ifStatementSpanWithoutElse,
                               cancellationToken
                               ));
                }
            }

            return(statement.ContainsInterleavedDirective(cancellationToken));
        }