this.pushOffset = isInit ? 0 :  next.getPeekBufferSize();
this.pushOffset = isInit ? 0 :  next.getRemaining(current.getNode(), isInit);
    public ConvertChannelExprsMIV(FilterFusionState current, boolean isInit)    {	//calculate push offset!!		this.pushBuffer = null;	//set the push buffer and the push counter if this filter pushes	if (current.getNode().ways > 0) {	    assert current.getNode().ways == 1;	    assert current.getNode().edges[0] != null;	    	    FusionState next = FusionState.getFusionState(current.getNode().edges[0]);	    this.pushBuffer = current.getPushBufferVar(isInit);	    //if this is not the init, then remember to push after the items saved,	    //by the downstream filter (these items were not pop'ed and they were copied to 	    //the beginning of the downstream buffer)	    this.pushOffset = isInit ? 0 :  next.getPeekBufferSize();	}		this.popBuffer = current.getBufferVar(null /*this is a filter, so only one previous */,					      isInit);	fusionState = current;    }