Chamar metodo Dentro de uma Thread em Execucao em java

Boa Noite Galera!

Este e meu primeiro topico no GUJ e venho pedir ajuda aos mais experientes para poder resolver um probleminha que estou tendo.

Estou a construir uma aplicação java que possui uma thread que escuta uma conexão socket. Dentro desse socket, como podem ver no codigo, quando eu recebo o carácter 2, executa um método SwingWorker que executa outros métodos e atualiza a interface da aplicação.

Classe que criar a thread servidor socket:

package tanio;

import java.io.;
import java.net.
;

import javax.swing.SwingWorker;

class socketServer implements Runnable{      
    String clientSentence = "";
    String capitalizedSentence;
    int porta = 9856;
      public void run(){
      /*atribuicao do numero da porta ao socket*/
                      ServerSocket welcomeSocket = null;
                    try {
                        welcomeSocket = new ServerSocket(porta);
                    } catch (IOException e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                    }
                      System.out.println("Esperando conexoes na porta " + porta);
                      {
                      while (true) {
     Socket connectionSocket = null;
    try {
        connectionSocket = welcomeSocket.accept();
    } catch (IOException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }
     System.out.println("Conexao aceita….");
      BufferedReader inFromClient = null;
    try {
        inFromClient = new BufferedReader(new InputStreamReader( connectionSocket.getInputStream() ));
    } catch (IOException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }
       try {
        DataOutputStream outToClient = new DataOutputStream( connectionSocket.getOutputStream() );
    } catch (IOException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }
                                try {
                                    DataOutputStream outToClient = new DataOutputStream( connectionSocket.getOutputStream() );
                                     clientSentence = inFromClient.readLine();
                                     System.out.println("Frase recebida do Cliente: " + clientSentence);
                                     int valorconvertido = Integer.parseInt(clientSentence);
                                     System.out.println(valorconvertido);
                                     switch (valorconvertido){ 
                                     case 2:
                                      teste chamarteste = new teste();
                                      teste.execute();
                                         break;      
                                    }
                                     connectionSocket.close();
                                        } catch (Exception e) {
                                                System.out.println("PERDA DA CONEXAO");
                                        }
                                        /*fecha a conexão aberta*/
                                        try {
                                            connectionSocket.close();
                                        } catch (IOException e) {
                                            // TODO Auto-generated catch block
                                            e.printStackTrace();
                                        }
                                        System.out.println("Conexao fechada");
                   }

}
}
}

Classe que executa a thread servidor socket:

package tanio;

import java.io.IOException;

import javax.swing.SwingWorker;

import tanio.socketServer;

public class chamarsocketServer
{

public static void main (String args[]) {       
    socketServer rodar = new socketServer();
    Thread t = new Thread(rodar);
    t.start();
}

}

Classe teste:

package tanio;

import javax.swing.SwingWorker;

public class teste extends SwingWorker{

@Override
protected Object doInBackground() throws Exception {

System.out.println(“Comando Recebido!”);
///necessito aqui que chame um metodo que envie a resposta pela conexao socket ja criada

    return null;
}

}

Quando no servidor socket recebe o caracter 2 ele chama o metodo teste, preciso que nessa classe teste ele chame um metodo que envie a resposta(um caracter, uma string ou ate um inteiro) pela conexao socket, ou seja responder que a classe teste foi chamada corretamente. Como eu faço para criar este metodo, sabendo que uma conexao socket na porta 9856 ja esta aberta na thread principal, apenas quero que o metodo escreva nela a saiaa apos executar o metodo . Sou iniciante e intendo pouco de thread, peço que alguem me de um exemplo de como fazer isso, ou que ferramentas usar. Aguardo…