public override int GetHashCode()
        {
            int hash = 1;

            if (conductingEquipmentTerminalReading_ != null)
            {
                hash ^= ConductingEquipmentTerminalReading.GetHashCode();
            }
            if (phaseMMTN_ != null)
            {
                hash ^= PhaseMMTN.GetHashCode();
            }
            if (readingMMTR_ != null)
            {
                hash ^= ReadingMMTR.GetHashCode();
            }
            if (readingMMXU_ != null)
            {
                hash ^= ReadingMMXU.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
 public void MergeFrom(MeterReading other)
 {
     if (other == null)
     {
         return;
     }
     if (other.conductingEquipmentTerminalReading_ != null)
     {
         if (conductingEquipmentTerminalReading_ == null)
         {
             ConductingEquipmentTerminalReading = new global::openfmb.commonmodule.ConductingEquipmentTerminalReading();
         }
         ConductingEquipmentTerminalReading.MergeFrom(other.ConductingEquipmentTerminalReading);
     }
     if (other.phaseMMTN_ != null)
     {
         if (phaseMMTN_ == null)
         {
             PhaseMMTN = new global::openfmb.commonmodule.PhaseMMTN();
         }
         PhaseMMTN.MergeFrom(other.PhaseMMTN);
     }
     if (other.readingMMTR_ != null)
     {
         if (readingMMTR_ == null)
         {
             ReadingMMTR = new global::openfmb.commonmodule.ReadingMMTR();
         }
         ReadingMMTR.MergeFrom(other.ReadingMMTR);
     }
     if (other.readingMMXU_ != null)
     {
         if (readingMMXU_ == null)
         {
             ReadingMMXU = new global::openfmb.commonmodule.ReadingMMXU();
         }
         ReadingMMXU.MergeFrom(other.ReadingMMXU);
     }
     _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
 }