In my opinion just changing it so the combiner is called outside of the synchronized block in this thread should be best.  There is no reason to pass it off to another thread then, especially the transport thread as that could affect other incoming commands.