int srcProduce = FlatNode.getItemsPushed(src,dst) * getMult(src,true);
int srcProduce = getInitItemsPushed(src,dst);
    static private int leftoveritemsJoiner(FlatNode src, FlatNode dst) {        int incomingWeight = dst.getIncomingWeight(src);  // or error if no connection.        int dstConsume = getMult(dst, true) * incomingWeight;        int srcProduce = FlatNode.getItemsPushed(src,dst) * getMult(src,true);        int enqueued = 0;        if (dst.isFeedbackJoiner() && src == dst.incoming[1]) {            // if feedback edge on feedback loop then account for enqueued values            enqueued = ((SIRFeedbackLoop)((SIRJoiner)dst.contents).getParent())                            .getDelayInt();        }        int remaining = (srcProduce + enqueued) - dstConsume;        assert remaining >= 0;        return remaining;    }