public Builder OutputLayer(Action <LayerAssertor <OutputLayer> .Builder> actions)
            {
                var layerAssertor = new LayerAssertor <OutputLayer> .Builder();

                actions.Invoke(layerAssertor);
                assertor.OutputLayerAssertor = layerAssertor.Build();
                return(this);
            }
            private static void PopulateListAssertor(
                Action <LayerAssertor <HiddenLayer> .Builder>[] synapseAssertors,
                UnorderedListAssertor <string, HiddenLayer> listAssertor)
            {
                foreach (var produceAssertor in synapseAssertors)
                {
                    var builder = new LayerAssertor <HiddenLayer> .Builder();

                    produceAssertor(builder);

                    var layerAssertor = builder.Build() as LayerAssertor <HiddenLayer>;

                    listAssertor.Assertors.Add(
                        CreateSynapseKey(layerAssertor.NeuronIds.ToArray()),
                        layerAssertor);
                }
            }