2007-11-15  Roei Erez  <roeie@mainsoft.com>

	* Stack.cs: Performance improvement in the case where the stack is popped
	untill empty. Changed the condition for resizing the array, and instead of
	check for zero size, check if the inner array is null.

2007-11-15  Jb Evain  <jbevain@novell.com>

	* LinkedList.cs: ifdef out manually the Serialization part of the
	LinkedList.Enumerator. As it is a struct, the field SerializationInfo
	have to be assigned in the default constructor, and the tuner cannot
	remove that. Fixes #341938 for real.

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
