Optional fields should not be included in hashCode() computation