public override int GetHashCode()
 {
     return(spec != null ? spec.GetHashCode() : 0);
 }