Salve a tutti,

sto realizzando un programma che crea archivi di dizionari, ma ho un problema con l'inserimento di nuove voci nel dizionario, poiché al momento in cui provo ad inserire nuove voci nel dizionario selezionato dall'utente(la selezione va a buon fine), il programma mi restituisce "null".

Ho provato diverse strade ma non sono riuscito a capire dove sta il problema .

Potete aiutarmi? Vi posto il codice dei metodi(il metodo statico per l'inserimento sta nella classe Dizionario)

Grazie

Archivio -ciclo principale

codice:
Archivio listaDizionari=new Archivio();
        Dizionario nuovoDizionario=new Dizionario();

		
		
		char scelta;
	
		// ciclo principale
		
		do{
		scelta=menuPrincipale(); // carica il menu principale
		
		switch(scelta){
		case 'V':
		case'v': listaDizionari.visualizzaDizionario(listaDizionari);break; // stampa la collezione dei dizionari
		case 'S':
		case's': nuovoDizionario = selezioneDizionario(listaDizionari);
		         if (nuovoDizionario!=null)
		        	 nuovoDizionario.operazioniDizionario();
		        	 
		         break; // seleziona il  dizionario
		case 'I':
		case'i': inserimentoDizionario(listaDizionari);break;// inserisce un nuovo dizionario nella collezione
		case 'C':
		case'c': listaDizionari.rimozioneDizionario(listaDizionari);break;// cancella un dizionario dalla collezione
		case 'Z':
		case'z':;
		
		}
		
	}while(scelta!='e' && scelta!='E');
	System.out.println("\nBye!");

Dizionario-metodo per le operazioni su dizionario e metodo statico per l'inserimento


codice:
		public static Vector<Lemma> operazioniDizionario(){	
			Dizionario nuovoDizionario=new Dizionario();
		Vector<Lemma>listaDizionario=new Vector<Lemma>();
		listaDizionario=nuovoDizionario.listaLemmi;
			
		
			char scelta;

			// ciclo principale
				do{
			scelta=menuDizionario();
			
			switch(scelta){
			case 'A':
			case'a':lemmaIns(listaDizionario) ;break;
				
			case 'N':
			case'n':;break;
			case 'D':
			case'd':;break;
			case 'S':
			case's':;break;
			case 'C':
			case'c':;break;
			case 'E':
			case'e':;break;
			}
			
		}while(scelta!='e' && scelta!='E');
		System.out.println("\nBye!");
		return listaDizionario;


		
			
		}
codice:
public  static void lemmaIns(Vector<Lemma>listaDizionario){ 
	
			Lemma nuovoLemma=Lemma.leggiLemma();
			inserisciOrdinato(listaDizionario, nuovoLemma);
     
					 
					 System.out.println("Hai inserito il lemma"+" "+nuovoLemma.getTermine()+ " "+ "procedi!");

				
				}