ma che cavolo vuole... sto codice mi genera una eccezione...
in pratica ho una hashtable con dentro degli element..
la riordino per chiave e creo un nuovo Document...
poi faccio un ciclo, recupero man mano gli element dalla hashtable...
solo che quando cerco di aggiungerli al nuovo documento non me lo lascia fare !!!

vi prego sono disperato... saran 2 ore che ci lotto...

codice:
try {

			doc = builder.build(fileXML);
			
			// ESTRAZIONE TUTTI I NODI
			elencoNodi = doc.getRootElement().getChildren(); 

			// PER OGNI NODO
			Iterator i = elencoNodi.iterator();
			while (i.hasNext()) {
				
				// ESTRAE IL NODO MESSAGGIO
				Element nodo = (Element)i.next();	
				
				// RECUPERA LA CHIAVE DEL NODO
				keyNodo = nodo.getChild("DATA").getTextNormalize() + nodo.getChild("ORA").getTextNormalize();
				
				// AGGIUNGE IL NODO CON LA SUA CHIAVE IN HASHTABLE
				alberoXML.put(keyNodo, nodo);

			}

			// CREO PREPARO NUOVO NODO DA INSERIRE
			Element nuovoNodo = new Element("MESSAGGIO");
			nuovoNodo.setText(aggiungiMessaggio.getContenuto());
Element dataChild = new Element("DATA").setText(aggiungiMessaggio.getData());
			nuovoNodo.addContent(dataChild);		
			Element oraChild = new Element("ORA").setText(aggiungiMessaggio.getOra());
			nuovoNodo.addContent(oraChild);

			// AGGIUNGO LA CHIAVE DEL NUOVO MESSAGGIO NELLA HASHTABLE
			alberoXML.put(aggiungiMessaggio.getData() + aggiungiMessaggio.getOra(),nuovoNodo);

			// RIORDINO KEY IN UN VETTORE
			Vector v = new Vector(alberoXML.keySet());
			Collections.sort(v);
			
			// CREO IL NUOVO DOCUMENTO	
			Document docNew = new Document();
			Element rootNew = new Element("MESSAGGI");
			docNew.setRootElement(rootNew); 
			rootNew = docNew.getRootElement();
			
			// PER OGNI VOCE DEL VETTORE AGGIUNGI ELEMENT ALLA ROOT
			for(int a = 0;a<v.size();a++){
				Element recuperoElemento = (Element)alberoXML.get(v.elementAt(a));
				rootNew.addContent(recuperoElemento);
			}
			
			// CHIAMO FUNZIONE DI SCRITTURA DOCUMENTO
			writeXml("messaggi.xml", docNew);

		}catch(Exception e){
			System.out.println("Errore: " + e.toString() + e.getMessage());
		}