private void Initialize(LogicalOutput logicalOutput)
 {
     InputLinguisticVariable = logicalOutput.InputLinguisticVariable;
     Reasoning           = logicalOutput.Reasoning;
     Conclusion          = logicalOutput.Conclusion;
     AdditionalJudgments = logicalOutput.AdditionalLinguisticVariables;
 }
        private void Initialize(IList <IParameter> parameters)
        {
            IList <ILinguisticVariable> linguisticVarsByParams    = GetLinguisticVarsBy(parameters);
            IList <Judgment>            judgmentsByLinguisticVars = GetJudgmentsBy(linguisticVarsByParams);

            workingMemory = new WorkingMemory(judgmentsByLinguisticVars);
            ruleBase      = new RuleBase();
            logicalOutput = new LogicalOutput();

            InitializeLogicalOutput(linguisticVarsByParams);
        }