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

            if (Type != global::Envoy.Config.Filter.Fault.V3Alpha.FaultDelay.Types.FaultDelayType.Fixed)
            {
                hash ^= Type.GetHashCode();
            }
            if (faultDelaySecifierCase_ == FaultDelaySecifierOneofCase.FixedDelay)
            {
                hash ^= FixedDelay.GetHashCode();
            }
            if (faultDelaySecifierCase_ == FaultDelaySecifierOneofCase.HeaderDelay)
            {
                hash ^= HeaderDelay.GetHashCode();
            }
            if (percentage_ != null)
            {
                hash ^= Percentage.GetHashCode();
            }
            hash ^= (int)faultDelaySecifierCase_;
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
        public void MergeFrom(FaultDelay other)
        {
            if (other == null)
            {
                return;
            }
            if (other.Type != global::Envoy.Config.Filter.Fault.V3Alpha.FaultDelay.Types.FaultDelayType.Fixed)
            {
                Type = other.Type;
            }
            if (other.percentage_ != null)
            {
                if (percentage_ == null)
                {
                    Percentage = new global::Envoy.Type.FractionalPercent();
                }
                Percentage.MergeFrom(other.Percentage);
            }
            switch (other.FaultDelaySecifierCase)
            {
            case FaultDelaySecifierOneofCase.FixedDelay:
                if (FixedDelay == null)
                {
                    FixedDelay = new global::Google.Protobuf.WellKnownTypes.Duration();
                }
                FixedDelay.MergeFrom(other.FixedDelay);
                break;

            case FaultDelaySecifierOneofCase.HeaderDelay:
                if (HeaderDelay == null)
                {
                    HeaderDelay = new global::Envoy.Config.Filter.Fault.V3Alpha.FaultDelay.Types.HeaderDelay();
                }
                HeaderDelay.MergeFrom(other.HeaderDelay);
                break;
            }

            _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
        }