Non capisco dove sbaglio in questo frammento di codice java :

-------------------------------------------------------------------------------------------------------------------

public Vector controllaIntervallo(Date prima,Date seconda){

Vector v = new Vector();
while (prima.before(seconda)){

v.add(prima);
prima.setDate(prima.getDate + 1);

}

return v;
}

-------------------------------------------------------------------------------------------------------------------

Vorrei che mi creasse un vettore con le date comprese tra prima e seconda e me lo ritornasse.
Invece se lo si prova a eseguire torna un vettore con tutte date uguali.

Come mai??