Salve.

Ho una classe astratta :
codice:
public abstract class SimSender<E> extends Thread{
    /** The instance of this object */
    protected static SimSender<E> instance = null;

    public SimSender(Socket aSocket, SimQueueSender<E> aSimQueueSender){
     if (aSocket != null) {
                   this.skt = aSocket;
                  this.txQueue = aSimQueueSender;
	               this.dataOutStream = new DataOutputStream(skt.getOutputStream());
                 }
	}
    
    
.   public static SimSender<E> getInstance(){
       return instance;

   }
     public abstract void sendMessage(E message) throws IOException;
 }
Questa è ereditata da:
codice:
public class SimSenderByte<E> extends SimSender<E> {
	
	public SimSenderByte(Socket aSocket, SimQueueSender<E> aSimQueueSender){
		super(aSocket,aSimQueueSender);
	}

public static SimSender getInstance(Socket aSocket, SimQueueSender<E> aSimQueueSender)) {

        if (instance == null) {

            synchronized (SimSenderByte.class) {

                if (instance == null) {

                    instance = new SimSenderByte(aSocket,aSimQueueSender);

                }

            }

        }

        return instance;

    }
	 
	
	@Override
	public void sendMessage(Object message) throws IOException {
		// TODO Auto-generated method stub
		
	}
}
Cioè vorrei implementare il pattern singleton per la classe SimSenderByte. Ma perchè dà errore???