public static IRouteBuilder <T> Put <T>(this IRouteBuilder <T> routeBuilder)
 {
     return(routeBuilder.Put(c =>
     {
         string key = c.GetRouteData().Values.First().Key;
         Put(c, routeBuilder.Set as ICollection <T>, key);
     }));
 }
 public static IRouteBuilder Put <T>(this IRouteBuilder routeBuilder, ICollection <T> set)
 {
     return(routeBuilder.Put(c =>
     {
         string key = c.GetRouteData().Values.First().Key;
         Put(c, set, key);
     }));
 }
 public static IRouteBuilder <T> Put <T>(this IRouteBuilder <T> routeBuilder, string id)
 {
     return(routeBuilder.Put(c => { Put(c, routeBuilder.Set as ICollection <T>, id); }));
 }
 public static IRouteBuilder Put <T>(this IRouteBuilder routeBuilder, ICollection <T> set, string id)
 {
     return(routeBuilder.Put(c => { Put(c, set, id); }));
 }