Sorting and iterating widget starting from anywhere
<pre><code>List&lt;Widget&gt; list = List&lt;Widget&gt;();
Widget widgetA = new Widget();
Widget widgetB = new Widget();
Widget widgetC = new Widget();
Widget widgetD = new Widget();
Widget widgetE = new Widget();
Widget widgetF = new Widget();
list.AddRange(new[] { widgetA, widgetB, widgetC, widgetD, widgetE, widgetF });
</code></pre>

<p>What would I need to do to sort starting somewhere in the middle?</p>

<p>for example,</p>

<pre><code>list.AddRange(new[] { widgetD, widgetE, widgetF, widgetA, widgetB, widgetC });
</code></pre>

<p>Or, in other words, start the index somewhere in the middle and then wrap the remaining objects in order.</p>
