title: Iterate starting from a preset position and continue iterating after end is reached
body: <p>I have seen a similar example with loops continuing after the last element to reset to first, which is great. However, I am unable to figure out how to add that PLUS start iterating from a specified index of the <code>IList</code> object.</p>
  <p>Assume we have this <code>IList</code> object with a count of 6. (To simplify I'm only using indices below instead of the full objects.)</p>
  <p><code>[1, 2, 3, 4, 5, 6]</code></p>
  <p>Now assume we need to iterate over this <code>IList</code> 10 times.</p>
  <p><code>=&gt; Iterate 10 times</code></p>
  <p>The expected output based on the above should be:</p>
  <p><code>=&gt; 1, 2, 3, 4, 5, 6, 1, 2, 3, 4</code></p>
  <p>However I'd like to start iterating from #4 for example, so the expected output should now be:</p>
  <p><code>=&gt; 4, 5, 6, 1, 2, 3, 4, 5, 6, 1</code></p>
  <p>(All the numbers above represent <strong>the position</strong> of the elements in the collection, not the actual objects as ints)</p>
  <p>Any ideas on how this is possible with LINQ and C#? Please keep in mind that we're working with an <code>IList</code>.</p>