Ciao ragazzi

prendendo spunto qui sul forum ho creato un server multithread, funziona correttamente però vorrei far sì che se il CLIENT A scriva "ciao" anche gli altri CLIENT dovranno visualizzare ciò che scrive il CLIENT A e viceversa per tutti i client connessi.
(Poichè attualmente se il CLIENT A scrive "ciao" solo lui potrà visionare ciò che scrive)

Leggendo un pò di post nella rete credo che dovrei inserire un Ciclo FOR per fare in modo che gli utenti possano leggere cioè che gli altri scrivano ma siccome non ho ancora tutta questa dimistichezza in JAVA vorrei ser qualche anima pia mi dica come fare..perchè è l'ultima cosa che mi manca e mi sono davvero bloccato..

GRAZIE


codice:
//Importo i package
import java.net.*;
import java.io.*;

//Creazione di una classe per il Multrithreading
class ServerThread extends Thread
{
	private Socket socket;
	public ServerThread(Socket socket)
	{
		this.socket = socket;
	}

	//esecuzione del Thread sul Socket
	public void run()
	{
		// Message terminator
		char EOF = (char)0x00;

		try
		{

			BufferedReader data_in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
			PrintWriter data_out = new PrintWriter(socket.getOutputStream());

			data_out.println("Welcome! type EXIT to quit." + EOF);
			data_out.flush();

			boolean quit = false;

			while (!quit)
			{
				String msg = data_in.readLine();

				if (msg == null)
				{
					quit = true; 
                }

				else if (msg.trim().equals("EXIT"))
				{
					quit = true;

				}

				else
				{
					data_out.println("You sayed: " + msg.trim() + "" + EOF);
					data_out.flush();
				}

				//QUI DOVREI FAR LEGGERE I MESSAGGI A TUTTI I CLIENT - MA COME IMPOSTO LA COSA?

		
			}
			data_in.close();
			data_out.close();

			System.out.println("Ho ricevuto una chiamata di chiusura da:\n" + socket + "\n" + EOF);
			socket.close();
		}
		catch (IOException e)
		{
			System.out.println("Connection lost");
		}
	}
}

//Classe Server per attivare la Socket
public class TCPParallelServer
{
	public void start() throws Exception
	{
		ServerSocket serverSocket = new ServerSocket(2055);

		//Ciclo infinito di ascolto dei Client
		while (true)
		{
			System.out.println("Connessione al Server su porta: 2055");
			Socket socket = serverSocket.accept();
			System.out.println("Ho ricevuto una chiamata di apertura da:\n" + socket);
			ServerThread serverThread = new ServerThread(socket);
			serverThread.start();
		}
	}

	public static void main(String[] args)  throws Exception
	{
		TCPParallelServer tcpServer = new TCPParallelServer();
		tcpServer.start();
	}
}