{
super.handleFlow(flow);
_drain = flow.getDrain();
getLink().setDrain(flow.getDrain());
int oldCredit = getLink().getCredit();
UnsignedInteger oldLimit = getLinkCredit().add(getDeliveryCount());
UnsignedInteger transferLimit = flow.getLinkCredit().add(flow.getDeliveryCount() == null
? ORIGINAL_DELIVERY_COUNT
: flow.getDeliveryCount());
UnsignedInteger linkCredit = transferLimit.subtract(getDeliveryCount());
setLinkCredit(linkCredit);
getLink().setCredit(transferLimit.subtract(oldLimit).intValue() + oldCredit);
DeliveryImpl current = getLink().current();