public void Remove(CircularLinkedListNode <T> node) { VerifyReferencedNode(node); count--; if (count == 0) { first = null; } if (node == first) { // ReSharper disable PossibleNullReferenceException first = first.forward; } // ReSharper restore PossibleNullReferenceException version++; node.Detach(); }