Control IQRouter/PacketRouter threads

We have a printer device connected to our server as xmpp client. We made a custom IQHandler as a service to handle “printing” requests from the other clients.
This service receives the printing custom IQ from clients and then routes custom packet to the printer client using IQRouter.route() then returns a response to client based on the result returned from the printer client.

I’m trying to do do a workaround for this by causing our custom IQHandler thread (socket_c2s-thread-x) to be waiting for a signal from the IQResultListener callback but it seems that the same thread is in charge of calling the callback methods and thus it will be awaiting forever.

So, the question here is : Is there any way to control which thread to use for IQRouter.route() function ?

any help ?