/// <summary cref="IEncodeable.IsEqual(IEncodeable)" />
        public virtual bool IsEqual(IEncodeable encodeable)
        {
            if (Object.ReferenceEquals(this, encodeable))
            {
                return(true);
            }

            RegistrationParameters value = encodeable as RegistrationParameters;

            if (value == null)
            {
                return(false);
            }

            if (!Utils.IsEqual(m_path, value.m_path))
            {
                return(false);
            }
            if (!Utils.IsEqual(m_selectionFlags, value.m_selectionFlags))
            {
                return(false);
            }

            return(true);
        }
        /// <summary cref="Object.MemberwiseClone" />
        public new object MemberwiseClone()
        {
            RegistrationParameters clone = (RegistrationParameters)base.MemberwiseClone();

            clone.m_path           = (RelativePath)Utils.Clone(this.m_path);
            clone.m_selectionFlags = (uint)Utils.Clone(this.m_selectionFlags);

            return(clone);
        }