private NamespaceDeclarationTranslation CreateNewNamespace(string identifier, BaseTypeDeclarationTranslation typeDeclarationTranslation)
        {
            NamespaceDeclarationTranslation newNamespaceTranslation = new NamespaceDeclarationTranslation();

            newNamespaceTranslation.Name = new IdentifierNameTranslation()
            {
                SyntaxString = identifier, Parent = newNamespaceTranslation
            };
            newNamespaceTranslation.Members = new SyntaxListTranslation <MemberDeclarationSyntax, MemberDeclarationTranslation>()
            {
                Parent = newNamespaceTranslation
            };
            newNamespaceTranslation.Members.Add(typeDeclarationTranslation);
            newNamespaceTranslation.IsExport = true;

            return(newNamespaceTranslation);
        }
        public static string TranslateConvernsion(Conversion conversion, NamespaceDeclarationTranslation ns, string innerTranslation)
        {
            var name    = Helper.GetUniqueHashName(conversion.MethodSymbol.OriginalDefinition);
            var clss    = Helper.GetClassOfMethod(conversion.MethodSymbol.OriginalDefinition);
            var generic = string.Empty;
            INamedTypeSymbol returnType = conversion.MethodSymbol.ReturnType as INamedTypeSymbol;

            if (returnType.IsGenericType)
            {
                generic = Helper.TranslateTypeFromSymbols(returnType.TypeArguments, ns?.Name.Translate());
            }


            var fullInvoke = $"{clss}.{name}";

            if (ns != null)
            {
                fullInvoke = Helper.GetReduceNameWithNamespace(fullInvoke, ns.Name.Translate());
            }
            fullInvoke = $"{fullInvoke}{generic}";

            return($"{fullInvoke}({innerTranslation})");
        }