public override int GetHashCode() { var hash = 0; if (Token != null) { hash = Token.GetHashCode(); } if (InnerTokens == null) { return(hash); } hash += InnerTokens.Sum(innerToken => innerToken.GetHashCode()); return(hash); }