public void MergeFrom(NodeP other)
        {
            if (other == null)
            {
                return;
            }
            switch (other.NodeCase)
            {
            case NodeOneofCase.Nvar:
                if (Nvar == null)
                {
                    Nvar = new global::Codecs.Proto.NVarP();
                }
                Nvar.MergeFrom(other.Nvar);
                break;

            case NodeOneofCase.Ngroup:
                if (Ngroup == null)
                {
                    Ngroup = new global::Codecs.Proto.NGroupP();
                }
                Ngroup.MergeFrom(other.Ngroup);
                break;
            }

            _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
        }
        public override int GetHashCode()
        {
            int hash = 1;

            if (nodeCase_ == NodeOneofCase.Nvar)
            {
                hash ^= Nvar.GetHashCode();
            }
            if (nodeCase_ == NodeOneofCase.Ngroup)
            {
                hash ^= Ngroup.GetHashCode();
            }
            hash ^= (int)nodeCase_;
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }