Changed to IComparable.
Buggy
Buggy
Revert "Buggy"

This reverts commit f572922502472cde36a4bf0ffa58f37ad47b468b.
Revert "Buggy"

This reverts commit 11ec63d075f0fd20ba6d3d05cdae57192e97d5fc.
Revert "Changed to IComparable."

This reverts commit 01cf1a6719441e203bf9880bbecf0a8f8b74e7d1.
Buggy
Revert "Buggy"

This reverts commit 83b89b35c82867907588a975cfd24c113a214188.
Revert "Revert "Changed to IComparable.""

This reverts commit 493e383cd8416ab5ec002edae3b9de1927db25db.
Revert "Revert "Buggy""

This reverts commit 52baa68b2da833b8255e694386f6f594fbff9e0d.
Revert "Revert "Buggy""

This reverts commit 2618341c1e3c81d0de8fc1b18d308c70acd90083.
Revert "Buggy"

This reverts commit f572922502472cde36a4bf0ffa58f37ad47b468b.
Revert "Buggy"

This reverts commit 11ec63d075f0fd20ba6d3d05cdae57192e97d5fc.
Revert "Changed to IComparable."

This reverts commit 01cf1a6719441e203bf9880bbecf0a8f8b74e7d1.
Added more unit tests.