@Override
 public boolean equals(Object obj) {
   if (this == obj) return true;
   if (obj == null) return false;
   if (getClass() != obj.getClass()) return false;
   OpenSecureChannelRequest other = (OpenSecureChannelRequest) obj;
   if (RequestHeader == null) {
     if (other.RequestHeader != null) return false;
   } else if (!RequestHeader.equals(other.RequestHeader)) return false;
   if (ClientProtocolVersion == null) {
     if (other.ClientProtocolVersion != null) return false;
   } else if (!ClientProtocolVersion.equals(other.ClientProtocolVersion)) return false;
   if (RequestType == null) {
     if (other.RequestType != null) return false;
   } else if (!RequestType.equals(other.RequestType)) return false;
   if (SecurityMode == null) {
     if (other.SecurityMode != null) return false;
   } else if (!SecurityMode.equals(other.SecurityMode)) return false;
   if (ClientNonce == null) {
     if (other.ClientNonce != null) return false;
   } else if (!ClientNonce.equals(other.ClientNonce)) return false;
   if (RequestedLifetime == null) {
     if (other.RequestedLifetime != null) return false;
   } else if (!RequestedLifetime.equals(other.RequestedLifetime)) return false;
   return true;
 }
 @Override
 public boolean equals(Object obj) {
   if (this == obj) return true;
   if (obj == null) return false;
   if (getClass() != obj.getClass()) return false;
   ModifySubscriptionRequest other = (ModifySubscriptionRequest) obj;
   if (RequestHeader == null) {
     if (other.RequestHeader != null) return false;
   } else if (!RequestHeader.equals(other.RequestHeader)) return false;
   if (SubscriptionId == null) {
     if (other.SubscriptionId != null) return false;
   } else if (!SubscriptionId.equals(other.SubscriptionId)) return false;
   if (RequestedPublishingInterval == null) {
     if (other.RequestedPublishingInterval != null) return false;
   } else if (!RequestedPublishingInterval.equals(other.RequestedPublishingInterval)) return false;
   if (RequestedLifetimeCount == null) {
     if (other.RequestedLifetimeCount != null) return false;
   } else if (!RequestedLifetimeCount.equals(other.RequestedLifetimeCount)) return false;
   if (RequestedMaxKeepAliveCount == null) {
     if (other.RequestedMaxKeepAliveCount != null) return false;
   } else if (!RequestedMaxKeepAliveCount.equals(other.RequestedMaxKeepAliveCount)) return false;
   if (MaxNotificationsPerPublish == null) {
     if (other.MaxNotificationsPerPublish != null) return false;
   } else if (!MaxNotificationsPerPublish.equals(other.MaxNotificationsPerPublish)) return false;
   if (Priority == null) {
     if (other.Priority != null) return false;
   } else if (!Priority.equals(other.Priority)) return false;
   return true;
 }