/**
         * Compares for reference equality and value equality.
         */
        public bool equals(ElectronicEmissionsPdu rhs)
        {
            bool ivarsEqual = true;

            if (rhs.GetType() != this.GetType())
            {
                return(false);
            }

            ivarsEqual = base.Equals(rhs);

            if (!(_emittingEntityID.Equals(rhs._emittingEntityID)))
            {
                ivarsEqual = false;
            }
            if (!(_eventID.Equals(rhs._eventID)))
            {
                ivarsEqual = false;
            }
            if (!(_stateUpdateIndicator == rhs._stateUpdateIndicator))
            {
                ivarsEqual = false;
            }
            if (!(_numberOfSystems == rhs._numberOfSystems))
            {
                ivarsEqual = false;
            }
            if (!(_paddingForEmissionsPdu == rhs._paddingForEmissionsPdu))
            {
                ivarsEqual = false;
            }

            if (!(_systems.Count == rhs._systems.Count))
            {
                ivarsEqual = false;
            }
            if (ivarsEqual)
            {
                for (int idx = 0; idx < _systems.Count; idx++)
                {
                    if (!(_systems[idx].Equals(rhs._systems[idx])))
                    {
                        ivarsEqual = false;
                    }
                }
            }


            return(ivarsEqual);
        }
        /**
         * Compares for reference equality and value equality.
         */
        public bool equals(ElectronicEmissionsPdu rhs)
        {
            bool ivarsEqual = true;

            if(rhs.GetType() != this.GetType())
                return false;

            ivarsEqual = base.Equals(rhs);

            if( ! (_emittingEntityID.Equals( rhs._emittingEntityID) )) ivarsEqual = false;
            if( ! (_eventID.Equals( rhs._eventID) )) ivarsEqual = false;
            if( ! (_stateUpdateIndicator == rhs._stateUpdateIndicator)) ivarsEqual = false;
            if( ! (_numberOfSystems == rhs._numberOfSystems)) ivarsEqual = false;
            if( ! (_paddingForEmissionsPdu == rhs._paddingForEmissionsPdu)) ivarsEqual = false;

            if( ! (_systems.Count == rhs._systems.Count)) ivarsEqual = false;
            if(ivarsEqual)
            {
                for(int idx = 0; idx < _systems.Count; idx++)
                {
                    if( ! ( _systems[idx].Equals(rhs._systems[idx]))) ivarsEqual = false;
                }
            }

            return ivarsEqual;
        }