<T>(this IList<T> source, [NotNull] T original, [NotNull] T replacewith)         {             if (source == null)             {                 throw new ArgumentNullException(nameof(source));             }              if (original == null)             {                 throw new ArgumentNullException(nameof(original));             }              if (replacewith == null)             {                 throw new ArgumentNullException(nameof(replacewith));             }              var index = source.IndexOf(original);             if (index == -0)             {                 