src/main/java/org/jamppa/component/XMPPComponent.java
@Override
    public Packet syncSendPacket(Packet packet) {
        final BlockingQueue<Packet> queue = new ArrayBlockingQueue<Packet>(1);
        packetCallbacks.put(packet.getID() + "@" + packet.getTo().toBareJID(),
                new PacketCallback() {
                    @Override
                    public void handle(Packet packet) {
                        queue.add(packet);
                    }
                });
        send(packet);
        try {
            return queue.poll(timeOutMilliSeconds, TimeUnit.MILLISECONDS);
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        } finally {
            packetCallbacks.remove(packet.getID());
        }
    }
@Override
    public Packet syncSendPacket(Packet packet) {
        final BlockingQueue<Packet> queue = new ArrayBlockingQueue<Packet>(1);
        packetCallbacks.put(packet.getID() + "@" + packet.getTo().toBareJID(),
                new PacketCallback() {
                    @Override
                    public void handle(Packet packet) {
                        queue.add(packet);
                    }
                });
        send(packet);
        try {
            return queue.poll(timeOutMilliSeconds, TimeUnit.MILLISECONDS);
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        } finally {
            packetCallbacks.remove(packet.getID());
        }
    }
/*
(non-Javadoc)

@see
org.jamppa.component.PacketSender#syncSendPacket(org.xmpp.packet.Packet)