public static MatchResultEnum GetResult(this MatchBase match)
        {
            if (!match.TeamAScore.HasValue)
            {
                return(MatchResultEnum.Pending);
            }

            if (match.TeamAScore.Value > match.TeamBScore.Value)
            {
                return(MatchResultEnum.I);
            }

            if (match.TeamAScore.Value < match.TeamBScore.Value)
            {
                return(MatchResultEnum.II);
            }

            return(MatchResultEnum.X);
        }
        private static void DisplayMatchesString <T>(MatchBase <T> matcher, string name, IReadOnlyList <string> ids)
            where T : CSharpSyntaxNode
        {
            var kind = matcher switch
            {
                MethodMatch => "Method",
                FieldMatch => "Field",

                ClassMatch => "Class",
                EnumMatch => "Enum",

                EnumValueMatch => "Enum Value",
                _ => throw new ArgumentOutOfRangeException(nameof(matcher))
            };

            switch (ids.Count)
            {
            case 0:
                Program.WriteLine(ConsoleColor.Red, $"No Match for [{kind}] {name} found");
                break;

            case 1:
                Program.WriteLine(ConsoleColor.Green, $"[{kind}] {name} is {ids[0]}");
                break;

            default:
            {
                Program.WriteLine(ConsoleColor.DarkGreen, $"[{kind}] {name} might be :");
                foreach (var aSyntax in ids)
                {
                    Program.WriteLine(ConsoleColor.DarkGreen, $"     - {aSyntax}");
                }

                break;
            }
            }
        }
    }