title: Maintain subsequence order in OrderBy
body: <p>Suppose I have a class with an integer <code>Day</code> property and an <code>IEnumerable&lt;T&gt;</code> of objects where the days are 2, 3, 4, 1, 3, 3 and 5 (in that order).</p>
  
  <p>Is there a way to guarantee that the order of the subsequence where (for example) <code>o.Day == 3</code> is maintained from its elements' relative positions in the original list <em>without</em> requiring an explicit, custom implementation of <code>IEnumerable</code>?</p>