title: Fixed size queue which automatically dequeues old values upon new enques
body: <p>I'm using <code>ConcurrentQueue</code> for a shared data structure which purpose is holding the last N objects passed to it (kind of history).</p>
  
  <p>Assume we have a browser and we want to have the last 100 browsed Urls. I want a queue which automatically drop (dequeue) the oldest (first) entry upon new entry insertion (enqueue) when the capacity gets full (100 addresses in history).</p>
  
  <p>How can I accomplish that using <code>System.Collections</code> ?</p>