SenderImpl sender = (SenderImpl) endpoint;
if(sender.getDrain() && sender.clearDrained())
{
TransportSender transportLink = sender.getTransportLink();
TransportSession transportSession = sender.getSession().getTransportSession();
UnsignedInteger credits = transportLink.getLinkCredit();
transportLink.setLinkCredit(UnsignedInteger.valueOf(0));
transportLink.setDeliveryCount(transportLink.getDeliveryCount().add(credits));
transportLink.setLinkCredit(UnsignedInteger.ZERO);
writeFlow(transportSession, transportLink);