public static string GetClass(this NavigationViewModel model, NavigationNode node, string inputClass = null, string activeClass = "active", bool makeParentNodesActive = false)
        {
            if (node == null)
            {
                return(inputClass);
            }
            if (model.CurrentNode != null && (node.EqualsNode(model.CurrentNode.Value)))
            {
                if (!string.IsNullOrEmpty(inputClass))
                {
                    inputClass = activeClass + " " + inputClass;
                }
                else
                {
                    inputClass = activeClass;
                }
            }
            else if (makeParentNodesActive)
            {
                if (model.HasActiveChild(node))
                {
                    if (!string.IsNullOrEmpty(inputClass))
                    {
                        inputClass = activeClass + " " + inputClass;
                    }
                    else
                    {
                        inputClass = activeClass;
                    }
                }
            }

            if (string.IsNullOrEmpty(node.CssClass))
            {
                return(inputClass);
            }
            else
            {
                if (!string.IsNullOrEmpty(inputClass))
                {
                    return(inputClass + " " + node.CssClass);
                }
                return(node.CssClass);
            }
        }