Praticamente ho una classe che estende timertask
codice:

package jcallremember.client;


import javax.swing.SwingUtilities;
import jCallRemember.libreria.ClienteDB;


/**
 *
 * @author Linux
 */
public final class TaskAppuntamento extends java.util.TimerTask {


    public ClienteDB getInfo() {
        return info;
    }


    public void setInfo(ClienteDB info) {
        this.info = info;
    }
    private ClienteDB info;


    TaskAppuntamento(ClienteDB cliente) {
        System.out.println("COSTRUTTORE TASK APPUNTAMENTO");
        System.out.println(cliente.toString());
        this.setInfo(cliente);
    }


    @Override
    public void run() {
               System.out.println("RUN TASK APPUNTAMENTO");
        System.out.println(info.toString());
        SwingUtilities.invokeLater(new FormSchedaCliente(this.getInfo()));
    }


}
il problema è che quando utilizzo il metodo schedule dell'oggetto timer per inserire dei task, se inserisco due task con un ora precendete a quella attuale, questi vengono avviati subito e fin qui tutto ok , se non fosse per il fatto che il metodo run viene eseguito utilizzando la stessa variabile info dell'ultimo task inserito , sia per il primo task che per l'ultimo.in poche parole quel form scheda cliente viene inizializzato tante volte quanti sono i task inseriti, ma sempre con lo stesso oggetto info.