public XrmButtonViewModel GetButton(string id)
 {
     if (CustomFunctions.Any(b => b.Id == id))
     {
         return(CustomFunctions.First(b => b.Id == id));
     }
     if (CustomFunctions.Where(b => b.HasChildOptions).SelectMany(b => b.ChildButtons).Any(b => b.Id == id))
     {
         return(CustomFunctions.Where(b => b.HasChildOptions).SelectMany(b => b.ChildButtons).First(b => b.Id == id));
     }
     throw new ArgumentOutOfRangeException("id", "No Button Found With Id Of " + id);
 }