public ActionResult GetProjectTree(string repositoryUrl)
        {
            var commits = new MongoRepository().GetCommits().Where(x => x.RepositoryUrl == repositoryUrl);

            var result = commits.OrderByDescending(x => x.Date).First().Modules.OrderBy(x => x.Name).Select(module => new
                {
                    label =HttpUtility.HtmlEncode(module.Name),
                    open = false,
                    inode = true,
                    node = HttpUtility.HtmlEncode(module.Name),
                    branch = module.Namespaces.OrderBy(x => x.Name).Select(namespaces => new
                        {
                            label = HttpUtility.HtmlEncode(namespaces.Name),
                            open = false,
                            inode = true,
                            node = HttpUtility.HtmlEncode(module.Name + ">" + namespaces.Name),
                            branch = namespaces.Types.OrderBy(x => x.Name).Select(type => new
                                {
                                    label = HttpUtility.HtmlEncode(type.Name),
                                    open = false,
                                    inode = true,
                                    node = HttpUtility.HtmlEncode(module.Name + ">" + namespaces.Name + ">" + type.Name),
                                    branch = type.Members.OrderBy(x => x.Name).Select(member => new
                                        {
                                            label = HttpUtility.HtmlEncode(member.Name),
                                            open = false,
                                            inode = false,
                                            node = HttpUtility.HtmlEncode(module.Name + ">" + namespaces.Name + ">" + type.Name + ">" + member.Name)
                                        })
                                })
                        })
                });

            return Json(result, JsonRequestBehavior.AllowGet);
        }