public void MergeFrom(GPSEntry other)
 {
     if (other == null)
     {
         return;
     }
     if (other.PositionNorth != 0D)
     {
         PositionNorth = other.PositionNorth;
     }
     if (other.PositionEast != 0D)
     {
         PositionEast = other.PositionEast;
     }
     if (other.PositionUp != 0L)
     {
         PositionUp = other.PositionUp;
     }
     if (other.PositionStatus != global::Agrirouter.Technicalmessagetype.GPSList.Types.GPSEntry.Types.PositionStatus.DNoGps)
     {
         PositionStatus = other.PositionStatus;
     }
     if (other.Pdop != 0D)
     {
         Pdop = other.Pdop;
     }
     if (other.Hdop != 0D)
     {
         Hdop = other.Hdop;
     }
     if (other.NumberOfSatellites != 0)
     {
         NumberOfSatellites = other.NumberOfSatellites;
     }
     if (other.gpsUtcTimestamp_ != null)
     {
         if (gpsUtcTimestamp_ == null)
         {
             GpsUtcTimestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
         }
         GpsUtcTimestamp.MergeFrom(other.GpsUtcTimestamp);
     }
     if (other.FieldStatus != global::Agrirouter.Technicalmessagetype.GPSList.Types.GPSEntry.Types.FieldStatus.FsUnknown)
     {
         FieldStatus = other.FieldStatus;
     }
     extension_.Add(other.extension_);
     _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
 }
                public override int GetHashCode()
                {
                    int hash = 1;

                    if (PositionNorth != 0D)
                    {
                        hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(PositionNorth);
                    }
                    if (PositionEast != 0D)
                    {
                        hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(PositionEast);
                    }
                    if (PositionUp != 0L)
                    {
                        hash ^= PositionUp.GetHashCode();
                    }
                    if (PositionStatus != global::Agrirouter.Technicalmessagetype.GPSList.Types.GPSEntry.Types.PositionStatus.DNoGps)
                    {
                        hash ^= PositionStatus.GetHashCode();
                    }
                    if (Pdop != 0D)
                    {
                        hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(Pdop);
                    }
                    if (Hdop != 0D)
                    {
                        hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(Hdop);
                    }
                    if (NumberOfSatellites != 0)
                    {
                        hash ^= NumberOfSatellites.GetHashCode();
                    }
                    if (gpsUtcTimestamp_ != null)
                    {
                        hash ^= GpsUtcTimestamp.GetHashCode();
                    }
                    if (FieldStatus != global::Agrirouter.Technicalmessagetype.GPSList.Types.GPSEntry.Types.FieldStatus.FsUnknown)
                    {
                        hash ^= FieldStatus.GetHashCode();
                    }
                    hash ^= extension_.GetHashCode();
                    if (_unknownFields != null)
                    {
                        hash ^= _unknownFields.GetHashCode();
                    }
                    return(hash);
                }