synchronized void abort()
        {
            Log.trace( "Aborting federation attempt." );

            joinResult = false;

            // Messages that are queued to be sent after federation has been established might have threads blocking on that delivery. That now will no longer happen. Make sure that we unblock all threads waiting for such an echo.
            if ( !queue.isEmpty() )
            {
                Log.trace("Completing {} callbacks for queued stanzas might be waiting for federation to be established.", queue.size() );
                for ( final QueuedStanza pendingCallback : queue )
                {
                    try {
                        pendingCallback.future.complete( null ); // TODO maybe completeExceptionally?
                    } catch ( Exception e ) {
                        Log.warn("An exception occurred while completing callback for a queued message.", e);
                    }
                }
            }
            callback.completeExceptionally( new IllegalStateException( "Federation with peer " + peer + " has been aborted.") );
        }
Retrieve and clean the list of stanzas that have been queued after federation was initiated, but before it
was finished.

@return A list of queued stanzas (possibly empty).
xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/FMUCHandler.java