public JsonResult PublishDocument(int documentId, bool publishDescendants, bool includeUnpublished)
 {
     var content = Services.ContentService.GetById(documentId);
     var doc = new Document(content);
     //var contentService = (ContentService) Services.ContentService;
     if (publishDescendants == false)
     {
         //var result = contentService.SaveAndPublishInternal(content);
         var result = doc.SaveAndPublish(UmbracoUser.Id);
         return Json(new
             {
                 success = result.Success,
                 message = GetMessageForStatus(result.Result)
             });
     }
     else
     {
         /*var result = ((ContentService) Services.ContentService)
             .PublishWithChildrenInternal(content, UmbracoUser.Id, includeUnpublished)
             .ToArray();*/
         var result = doc.PublishWithSubs(UmbracoUser.Id, includeUnpublished);
         return Json(new
             {
                 success = result.All(x => x.Success),
                 message = GetMessageForStatuses(result.Select(x => x.Result), content)
             });
     }
 }