public override int GetHashCode()
 {
     return(descriptor.GetHashCode() * ((1 << 16) - 1) + number);
 }