public override int GetHashCode() { unchecked { int code = 0; if (m_support != null) { code = Support.Aggregate(code, (current, type) => current ^ type.GetHashCode() * 397); } code ^= (m_main != null ? m_main.GetHashCode() : 0); return(code); } }