this.streamInput = input; this.streamOutput = output;
input = new Channel(Integer.TYPE, 1); output = new Channel(Integer.TYPE, 1);
                public void init()                {                    setDelay(2);                    setJoiner(WEIGHTED_ROUND_ROBIN(0, 1));                    setBody(new Filter()                        {                            Channel input = new Channel(Integer.TYPE, 1, 2);                            Channel output = new Channel(Integer.TYPE, 1);                            public void initIO ()                            {                                this.streamInput = input;                                this.streamOutput = output;                            }                            public void init () { }                            public void work()                            {                                output.pushInt(input.peekInt(1) +                                               input.peekInt(0));                                input.pop();                            }                        });                    setLoop(new Filter()                        {                            Channel input = new Channel(Integer.TYPE, 1);                            Channel output = new Channel(Integer.TYPE, 1);                            public void initIO()                            {                                this.streamInput = input;                                this.streamOutput = output;                            }                            public void init () { }                            public void work()                            {                                output.pushInt(input.popInt());                            }                        });                    setSplitter(DUPLICATE());                }