public static TLink Update <TLink>(this ILinks <TLink> links, params TLink[] restrictions) { if (restrictions.Length == 2) { return(links.MergeAndDelete(restrictions[0], restrictions[1])); } if (restrictions.Length == 4) { return(links.UpdateOrCreateOrGet(restrictions[0], restrictions[1], restrictions[2], restrictions[3])); } else { return(links.Update(new LinkAddress <TLink>(restrictions[0]), restrictions)); } }