2007-10-09  Raja R Harinath  <rharinath@novell.com>

	* RBTree.cs (get_Item, do_remove): Remove redundant code.

2007-08-20  Jb Evain  <jbevain@novell.com>

	* SortedList.cs: don't crash in ListKeys and ListValues
	when CopyTo targets an empty array, and that the
	sorted list is empty. Fixes #82492.

2007-05-08  Raja R Harinath  <rharinath@novell.com>

	Avoid unnecessary allocation on indexer access
	* SortedDictionary.cs (NodeHelper): Rename from NodeComparer.
	(NodeHelper.CreateNode): New.
	(Item.set): Move responsibility of creating new nodes to
	RBTree.Intern.
	* RBTree.cs (INodeHelper): Rename from INodeComparer.
	(INodeHelper.CreateNode): New.
	(Intern): Use it to create a new node if no node is passed in.

2007-05-08 Igor Zelmanovich <igorz@mainsoft.com>

	* RBTree.cs: for TARGET_JVM used Thread Local Storage 
	istead Thread-Relative Static Fields 

2007-05-02  Raja R Harinath  <rharinath@novell.com>

	* RBTree.cs (Enumerator.Current): Remove nullref.

	* SortedDictionary.cs (ICollection.Contains): Use EqualityComparer
	for comparing the value field.

	* RBTree.cs (do_remove): Remove some redundant assignments/checks.
	(NodeEnumerator): Simplify.  Keep track of a list of
	right-pennants that need to be traversed next, rather than
	comparing parent pointers.

2007-05-02  Raja R Harinath  <harinath@gmail.com>

	Make add and remove operations O(log n).
	* SortedDictionary.cs: Rewrite to use the red-black tree
	implementation from RBTree.cs.
	* RBTree.cs: Some more refactoring.  Rename Insert() to Intern(),
	and modify semantics slightly.  Replace Contains() with Lookup().

2007-04-30  Raja R Harinath  <rharinath@novell.com>

	* RBTree.cs: Refactor to reduce generics code.

2007-04-30  Raja R Harinath  <harinath@gmail.com>

	* RBTree.cs: New red-black tree implementation for use with
	SortedDictionary.

2007-04-19  Gert Driesen  <drieseng@users.sourceforge.net>

	* Queue.cs: Fixed binary serialization, based on patch provided by
	Lionel Cuir. Fixes TrimExcess to use SetCapacity, before it was not 
	updating _head which could lead to IndexOutOfRangeException.
	* Stack.cs: Fixed binary serialization, based on patch provided by
	Lionel Cuir. In Pop, clear entry from array to help GC.

2007-03-27  Alan McGovern <alan.mcgovern@gmail.com>

	* Queue.cs: Removed wrong call to version++
	* Stack.cs: Removed wrong call to version++

2006-09-30  Gert Driesen  <drieseng@users.sourceforge.net>

	* SortedList.cs: Count property, indexer and Clear method should not 
	be virtual. Removed unnecessary explicit interface implementation of
	 Add (TKey, TValue) and Remove (TKey, TValue).
	* Queue.cs: Marked Enumerator as Serializable.
	* Stack.cs: Marked Stack <T> and Enumerator as serializable.

2006-09-28  Andrew Skiba  <andrews@mainsoft.com>

	* Stack.cs: TARGET_JVM

2006-04-05  Atsushi Enomoto  <atsushi@ximian.com>

	* SortedDictionary.cs : new file. The original code is mostly
	  from Kazuki Oikawa.

2006-03-11  Miguel de Icaza  <miguel@novell.com>

	* Queue.cs: Flag as serializable.

	* LinkedList.cs (OnDeserialization): Fix signature. 

	* SortedList.cs: Implement explicitly a few methods that were
	flagged by corcompare. 

2005-11-10  Zoltan Varga  <vargaz@gmail.com>

	* SortedList.cs Queue.cs Stack.cs: Implement TrimExcess methods.
	
	* SortedList.cs: Fix build.

	* Stack.cs SortedList.cs LinkedList.cs: Update to net 2.0 RTM.

2005-11-09  Zoltan Varga  <vargaz@gmail.com>

	* SortedList.cs: New file.

2005-09-04  David Waite  <mass@akuma.org>

	* LinkedList.cs, LinkedListNode.cs: added implementation of LinkedList<T>

2005-08-08  Kamil Skalski  <nazgul@nemerle.org>

	* Queue.cs, Stack.cs: remove implementation of ICollection<T>,
	since it is no longer in b2 API

2005-06-20  David Waite  <mass@akuma.org>

	* Collection.cs, ReadOnlyCollection.cs: removed as they are no longer in the b2 API

2005-05-13  Atsushi Enomoto  <atsushi@ximian.com>

	* Queue.cs, Stack.cs: moved from mscorlib.dll

2005-02-35  Carlos Alberto Cortez <calberto.cortez@gmail.com>

	* Collections.cs: Changed the code inside IndexOf, for
	the use of Array.IndexOf<>, to keep clean the code.
	
2004-11-17  Carlos Alberto Cortez Guevara <carlos@unixmexico.org>

	* Collections.cs: Avoid the call to Array.Clear () in RemoveItem (),
	now we only assign the last element (the deleted one) to its default
	value.
	
2004-09-20  Gert Driesen <drieseng@users.sourceforge.net>

	* ReadOnlyCollection.cs: Moved over from corlib
	* Collection.cs: Moved over from corlib
