half of a <code>MessageProducer</code> outside the Java virtual machine,
 clients should close them when they are not needed. Relying on garbage collection to eventually reclaim these
 resources may not be timely enough.

 <p>
 This method must not return until any incomplete asynchronous send operations for this <tt>MessageProducer</tt> have
 been completed and any <tt>CompletionListener</tt> callbacks have returned. Incomplete sends should be allowed to
 complete normally unless an error occurs.

 <p>
 A 