IEnumerable <XmlNodeSyntax> GetParamsNodes()
        {
            if (Documentable.Parameters == null)
            {
                yield break;
            }

            foreach (Parameter parameter in Documentable.Parameters.Where(p => p.Docs != null))
            {
                string text = string.Join(Environment.NewLine, GetParamTextLines(parameter));
                if (!string.IsNullOrEmpty(text))
                {
                    yield return(SF.XmlText(" ").WithLeadingTrivia(SF.DocumentationCommentExterior(" ")));

                    yield return(SF.XmlParamElement(_symbols.GetName(parameter), GetXmlNodes(text).ToArray()));
                }
            }

            IEnumerable <string> GetParamTextLines(Parameter parameter)
            {
                if (!String.IsNullOrEmpty(parameter.Docs.Summary))
                {
                    yield return(parameter.Docs.Summary);
                }
            }
        }
        IEnumerable <XmlNodeSyntax> GetParamsNodes()
        {
            if (Documentable.Parameters == null)
            {
                yield break;
            }

            foreach (Parameter parameter in Documentable.Parameters.Where(p => p.Docs != null))
            {
                string text = string.Join(Environment.NewLine, GetParamTextLines(parameter));
                if (!string.IsNullOrEmpty(text))
                {
                    yield return(SF.XmlText(" ").WithLeadingTrivia(SF.DocumentationCommentExterior(" ")));

                    yield return(SF.XmlParamElement(_symbols.GetName(parameter), GetXmlNodes(text).ToArray()));
                }
            }

            IEnumerable <string> GetParamTextLines(Parameter parameter)
            {
                foreach (KeyValuePair <string, string> kvp in parameter.Docs)
                {
                    if (kvp.Key == "param")
                    {
                        continue;
                    }

                    if (kvp.Key == "comment")
                    {
                        yield return(kvp.Value);
                    }
                    else
                    {
                        yield return($"{kvp.Key}: {kvp.Value}");
                    }
                }
            }
        }