/// <summary>
        /// Creates a graphviz format representation of the tree edges and its nodes.
        /// </summary>
        /// <param name="userContext">The user context.</param>
        /// <param name="tree">The tree.</param>
        /// <param name="treeNodes">The tree nodes.</param>
        /// <param name="treeIterationMode">The tree iteration mode.</param>
        /// <param name="onlyValid">if set to <c>true</c> only valid relations are included.</param>
        /// <param name="format">The format.</param>
        /// <returns>A GraphViz graph.</returns>
        public static string CreateGraphvizFormatRepresentation(
            IUserContext userContext,
            TaxonRelationsTree tree,
            ICollection <ITaxonRelationsTreeNode> treeNodes,
            TaxonRelationsTreeIterationMode treeIterationMode,
            bool onlyValid,
            GraphVizFormat format)
        {
            // Get edges.
            var edges = tree.GetAllEdges(
                treeNodes,
                treeIterationMode,
                onlyValid,
                treeIterationMode != TaxonRelationsTreeIterationMode.OnlyChildren);

            string str = CreateGraphvizFormatRepresentation(
                userContext,
                tree,
                edges,
                treeNodes,
                format);

            return(str);
        }