public void AddElementAt (int index, INavigation navigation) { // Lame! Two O(N) iterations, but I see no other choice. chain.AddBefore (chain.Find (chain.ElementAt (index)), navigation); }