public Complementor8Bits() { InitXORGates(); Inputs = new InputEndpointCollection <InputEndpoint>(WIDTH, _xorGates.Select(x => x.Input1 as InputEndpoint)); _nexus = new Nexus(WIDTH + 1, _xorGates.Select(x => x.Input2 as InputEndpoint)); Invert = _nexus.GetEndpointAt(WIDTH); Outputs = new OutputEndpointCollection <OutputEndpoint>(WIDTH, _xorGates.Select(x => x.Output as OutputEndpoint)); }