@Override
 public void close() throws IOException {
   log.debug("Closing `{}`", this);
   requester
       .request(newRequest(PacketType.CLOSE))
       .retrieve(requester.getTimeoutMs(), TimeUnit.MILLISECONDS)
       .ensureStatusPacketIsOK();
 }