public override bool Equals(object?obj) { if (obj == null || obj.GetType() != typeof(TokenMd)) { return(false); } var otherToken = obj as TokenMd; return(Mark == otherToken.Mark && Token == otherToken.Token && InnerTokens.SequenceEqual(otherToken.InnerTokens)); }