joiner.getIOField ("output", 0).makePassThrough ();
joiner.getIOField("outputChannel", 0).makePassThrough ();
    void setupBufferLengths (Scheduler buffers)    {        // some of these asserts are restrictions on functionality        // of this function and not on what a correct streamit structure would        // be        assert body != null;        assert loop != null;        assert joiner != null;        assert splitter != null;        // just go through and init the bloody buffers        // start with getting body and loop to initialize their interal buffers        body.setupBufferLengths (buffers);        loop.setupBufferLengths (buffers);        // now setup the buffer sizes:        int s;        // between joiner and body        s = buffers.getBufferSizeBetween (new Iterator(this), new Iterator(body));        StreamIt.totalBuffer += s;        joiner.getIOField ("output", 0).makePassThrough ();        body.getInputChannel ().setChannelSize (s);        // between body and splitter        s = buffers.getBufferSizeBetween (new Iterator(body), new Iterator(this));        StreamIt.totalBuffer += s;        splitter.getIOField ("input", 0).setChannelSize (s);        body.getOutputChannel ().makePassThrough ();        // between splitter and loop        s = buffers.getBufferSizeBetween (new Iterator(this), new Iterator(loop));        StreamIt.totalBuffer += s;        loop.getInputChannel ().setChannelSize (s);        // between loop and joiner        s = buffers.getBufferSizeBetween (new Iterator(loop), new Iterator(this));        StreamIt.totalBuffer += s;        loop.getOutputChannel ().setChannelSize (s);        // make sure that the input/output channels push data through right away:        if (getInputChannel () != null) getInputChannel ().makePassThrough ();        if (getOutputChannel () != null) splitter.getIOField ("output", 0).makePassThrough ();    }