private static IEnumerable <SyntaxTrivia> ConvertVBTrivia(SyntaxTrivia t)
    {
        if (t.IsKind(VBSyntaxKind.CommentTrivia))
        {
            yield return(SyntaxFactory.SyntaxTrivia(CSSyntaxKind.SingleLineCommentTrivia, $"// {t.GetCommentText()}"));

            yield break;
        }
        if (t.IsKind(VBSyntaxKind.DocumentationCommentTrivia))
        {
            var previousWhitespace = t.GetPreviousTrivia(t.SyntaxTree, CancellationToken.None).ToString().Trim('\r', '\n');
            var commentTextLines   = t.GetCommentText().Replace("\r\n", "\n").Replace("\r", "\n").Split('\n');
            var outputCommentText  = "/// " + String.Join($"\r\n{previousWhitespace}/// ", commentTextLines);
            yield return(SyntaxFactory.SyntaxTrivia(CSSyntaxKind.SingleLineCommentTrivia, outputCommentText)); //It's always single line...even when it has multiple lines

            yield return(_endOfLine);

            yield break;
        }

        if (t.IsKind(VBSyntaxKind.WhitespaceTrivia))
        {
            yield return(SyntaxFactory.ElasticWhitespace(t.ToString()));

            yield break;
        }

        if (t.IsKind(VBSyntaxKind.EndOfLineTrivia))
        {
            yield return(SyntaxFactory.EndOfLine(t.ToString()));

            yield break;
        }

        if (t.HasStructure)
        {
            bool wasConverted = false;
            foreach (var converted in ConvertStructuredVBTrivia(t))
            {
                yield return(converted);

                wasConverted = true;
            }
            if (wasConverted)
            {
                yield break;
            }
        }

        //Each of these would need its own method to recreate for C# with the right structure probably so let's just warn about them for now.
        var convertedKind = t.GetCSKind();

        yield return(convertedKind.HasValue
            ? SyntaxFactory.Comment(@$ "/* TODO ERROR: Skipped {convertedKind.Value}
{t.ToFullString()}*/")
            : default(SyntaxTrivia));
    }