Using T type parameter to clone a collection
You can replace your loop with AddRange():

public T CloneCollection&lt;T&gt;(IEmployees employees) where T : IEmployees, new()
{
    T collection = new T();
    collection.AddRange(employees);
}


Additional thought:

Note that your solution and this solution are simply cloning the list and not the items in the list.  If you update an Employee, the employee will be modified in both lists.  If this is NOT the desired behavior, you will need to clone each employee as well.