private void Process(EnumDeclarationSyntax syntaxItem)
        {
            if (syntaxItem == null || syntaxItem.Members.Count == 0)
            {
                return;
            }

            if (syntaxItem.IsExluded())
            {
                AddExcludedType(syntaxItem);
                return;
            }

            AddDiscoveredType(syntaxItem);

            if (PreprocessMode)
            {
                return;
            }

            AddLevel($@"export {syntaxItem.EnumKeyword} {syntaxItem.Identifier}");

            for (var idx = 0; idx < syntaxItem.Members.Count - 1; idx++)
            {
                var memberItem = syntaxItem.Members[idx];
                var value      = memberItem.EqualsValue?.Value != null ? " = " + memberItem.EqualsValue.Value : "";
                AddLine($"{memberItem.Identifier}{value},");
            }

            // Add final item no trailing comma
            {
                var idx        = syntaxItem.Members.Count - 1;
                var memberItem = syntaxItem.Members[idx];
                var value      = memberItem.EqualsValue?.Value != null ? " = " + memberItem.EqualsValue.Value : "";
                AddLine($"{memberItem.Identifier}{value}");
            }

            CloseLevel();
        }