allora..
spiego un po com'è la nostra applicazione:
ogni nuovo client che si connette, il server apre un nuovo thread a lui associato che ne gestisce la comunicazione. Il nome del nuovo thread che il server lancia automaticamente è uguale allo userID del client, quindi: thread.setName(userID).
Ora.. il problema è che questi thread vengono creati a tempo di esecuzione, quindi quando scrivo il codice non conosco il nome del thread che sarà creato, proprio perchè questo nome è variabile a seconda del client o dei client che si connetteranno.
Ogni client ha a disposizione un comando del tipo: >message [user] [messaggio].

Se io sono il client autenticato come pippo, nel server c'è un thread "pippo" che riceve il mio comando. Mettiamo che oltre a me ci sia un altro client, di nome tizio, quindi nel server è attivo un'altro thread di nome "tizio". Se pippo vuole mandare un messaggio a tizio scriverà >message [tizio] [ciao]; quindi: il thread pippo riceve il comando, e a questo punto deve dire al thread "tizio" di scrivere attraverso il *suo* stream il messaggio, che quindi arriverà solo a tizio.

Come faccio a dire a pippo di usare un metodo (che sarà quindi send()) del thread tizio in esecuzione?

ribadisco che questi thread sono aperti dal server in modo autonomo, variabile e dipendente dal numero di client connessi

grazie mille in anticipo