internal BackPropagationConnectionContext(object ruleContext, ComputationalConnection<double> connection)
     : base(ruleContext)
 {
     Contract.Requires(connection != null);
     Connection = connection;
 }
 protected internal virtual void Initialize(ComputationalConnection<double> connection, object ruleContext)
 {
     var ai = connection as IAdjustableItem;
     if (ai != null) Initialize(ai);
 }
 protected internal override void Initialize(ComputationalConnection<double> connection, object ruleContext)
 {
     base.Initialize(connection, ruleContext);
     Initialize(ruleContext);
 }
 protected internal virtual object CreateRuleContext(ComputationalConnection<double> forConnection)
 {
     return null;
 }
 protected internal override object CreateRuleContext(ComputationalConnection<double> forConnection)
 {
     return new ErrorContext();
 }