void setupBufferLengths(Scheduler buffers) { ListIterator<Stream> childIter; childIter = (ListIterator<Stream>) streamElements.iterator(); Stream source = null; Stream sink = null; // go through all the children while (childIter.hasNext()) { // advance the iterator: Stream child = childIter.next(); assert child != null; child.setupBufferLengths(buffers); source = sink; sink = child; if (source != null) { assert sink != null; int buffSize = buffers.getBufferSizeBetween(new Iterator(source), new Iterator(sink)); assert buffSize != 0; StreamIt.totalBuffer += buffSize; source.getOutputChannel().makePassThrough(); sink.getInputChannel().setChannelSize(buffSize); } } }