public static void Insert(this GameComponentCollection components, int index, object component) { if (component == null) { throw new ArgumentNullException("component"); } components.Insert(index, new GameComponentAdapter() { InnerComponent = component }); }