void IServiceBehavior.Validate (ServiceDescription serviceDescription, ServiceHostBase serviceHostBase)
		{
			if (serviceHostBase == null)
				throw new ArgumentNullException ("serviceHostBase");
			var dse = serviceHostBase.Extensions.Find<DiscoveryServiceExtension> ();
			if (dse == null) {
				dse = new DiscoveryServiceExtension.DefaultDiscoveryServiceExtension ();
				serviceHostBase.Extensions.Add (dse);
			}
		}
		void IServiceBehavior.Validate (ServiceDescription serviceDescription, ServiceHostBase serviceHostBase)
		{
			if (serviceHostBase == null)
				throw new ArgumentNullException ("serviceHostBase");
			var dse = serviceHostBase.Extensions.Find<DiscoveryServiceExtension> ();
			if (dse == null) {
				dse = new DiscoveryServiceExtension.DefaultDiscoveryServiceExtension ();
				serviceHostBase.Extensions.Add (dse);
			}
			
			foreach (var se in serviceDescription.Endpoints)
				se.Behaviors.Add (new DiscoveryEndpointPublisherBehavior (dse));
		}