Использовать логический не оператор два раза это означает! true = false и !! true = true
Привет, попробуй что-нибудь подобное
public class Parent{
public List<string> docs
}
Parent p = new Parent();
p.docs.Add("First");
p.docs.Add("Second");
p.docs.Add("Third");
p.docs.Add("Fourth");
p.docs.Add("Fifth");
process(new Parent{docs =p.docs.Take(5)});
before that i would recomend you to check memberwiseclone (Shallow Copy,Deep Copy)