ci sei quasi...

en = vec1.elements();

nel primo metodo e...

en = vec1.elements();

nel secondo...

solo che mi sa che la prima volta se l'è già scorso tutto.. pensavo che riscrivendo l'istruzione si reinizializzasse :-)