/// <summary>
        /// Adds an outbound connection to another node (either another network or a neuron) in the outer network.
        /// </summary>
        /// <param name="outboundConnection">The outbound connection to add.</param>
        public void AddOutboundConnection(ISupervisedLearnerConnection outboundConnection)
        {
            const string MethodName = "AddOutboundConnection";
            Logger.TraceIn(this.name, MethodName);

            if (outboundConnection == null)
            {
                throw new ArgumentNullException("outboundConnection");
            }

            if (!this.outboundConnections.Contains(outboundConnection))
            {
                this.outboundConnections.Add(outboundConnection);
                base.AddOutboundConnection(outboundConnection);
            }

            Logger.TraceOut(this.name, MethodName);
        }
        /// <summary>
        /// Adds an outbound connection to another node (either another network or a neuron) in the outer network.
        /// </summary>
        /// <param name="outboundConnection">The outbound connection to add.</param>
        public void AddOutboundConnection(ISupervisedLearnerConnection outboundConnection)
        {
            const string MethodName = "AddOutboundConnection";
            Logger.TraceIn(this.name, MethodName);

            if (!this.outboundConnections.Contains(outboundConnection))
            {
                this.outboundConnections.Add(outboundConnection);
                base.AddOutboundConnection(outboundConnection);
            }

            Logger.TraceOut(this.name, MethodName);
        }