private void ValidateDeliveryAgent(AgentInfo agentInfo)
        {
            HashSet <string> hashSet = new HashSet <string>(StringComparer.OrdinalIgnoreCase);

            foreach (AgentInfo agentInfo2 in base.MExConfiguration.AgentList)
            {
                DeliveryAgentManager deliveryAgentManager = FactoryTable.GetAgentManagerInstance(agentInfo2) as DeliveryAgentManager;
                if (deliveryAgentManager != null)
                {
                    if (string.IsNullOrEmpty(deliveryAgentManager.SupportedDeliveryProtocol))
                    {
                        this.WriteWarning(AgentStrings.DeliveryProtocolNotValid(agentInfo2.AgentName));
                    }
                    else
                    {
                        hashSet.Add(deliveryAgentManager.SupportedDeliveryProtocol);
                    }
                }
            }
            DeliveryAgentManager deliveryAgentManager2 = FactoryTable.GetAgentManagerInstance(agentInfo) as DeliveryAgentManager;

            if (deliveryAgentManager2 == null)
            {
                base.WriteError(new ArgumentException(AgentStrings.InvalidDeliveryAgentManager(this.Name)), ErrorCategory.InvalidArgument, null);
            }
            if (string.IsNullOrEmpty(deliveryAgentManager2.SupportedDeliveryProtocol))
            {
                base.WriteError(new ArgumentException(AgentStrings.DeliveryProtocolNotSpecified(this.Name)), ErrorCategory.InvalidArgument, null);
            }
            if (hashSet.Contains(deliveryAgentManager2.SupportedDeliveryProtocol))
            {
                base.WriteError(new ArgumentException(AgentStrings.MustHaveUniqueDeliveryProtocol(this.Name, deliveryAgentManager2.SupportedDeliveryProtocol)), ErrorCategory.InvalidArgument, null);
            }
        }