There is an unsaved comment in progress. You will lose your changes if you continue. Are you sure you want to reopen the work item?
CompareTo method will always throw NullReferenceException
In CompareTo, the method checks to see if the second argument is null by simply checking with an equality operator. The problem is that the first line in said operator is if (first.state.Data == second.state.Data), and as such it will always throw an exception
(because second will always be null).