public IValueCompare Compare(ICard other) { //Todo Chain? IValueCompare otherRankCompare = other.Compare(_rank); if (otherRankCompare.IsEqual()) { return(other.Compare(_suit)); } return(new NegateValueCompare(otherRankCompare)); }