I want to clone a collection with the following method and I want to know if it can be optimized:public T CloneCollection<T>(IEmployees employees) where T : IEmployees, new(){    T collection = new T();    foreach (IEmployee employee in employees)    {        collection.Add(employee);    }    return collection;}These are the other classes which are related to the method above:public class RegularEmployee : Entities, IEmployee{//properties}public class User : Entities, IEmployee{//properties}public class Manager : Entities, IEmployee{//properties}public class ManagerCollection : List<Manager>, IEmployees{   void Add(IEmployee employee);}public class RegularEmployeeCollection : List<RegularEmployee>, IEmployees{   void Add(IEmployee employee);}public class UserCollection : List<User>, IEmployees{   void Add(IEmployee employee);}
Using T type parameter to clone a collection
c#;generics;collections