Dúvida manipulando Vector e Hashtable!

ae galera estou com o seguinte problema!
eu tenho um:

Hashtable dados

que está preenchido com alguns valores, dentre eles um Vector de Hashtables, que no caso seria :

(Vector)dados.get("itensContagem");

existe um momento em que vou manipular esses dados de itensContagem, vou chegar a alteralos, mais nao quero que ele seja alterado. então pensei em criar um novo objeto ou mudar a referência do mesmo, mais nao tive sucesso.

tentei algo do tipo:

Vector dadosCont = new Vector();
dadosCont = (Vector)dados.get("itensContagem");

adicionarDiferencaItem(dadosCont,(Vector)dados.get("itensRecontagem")); 

ou

Vector dadosCont = new Vector();
dadosCont.add((Vector)dados.get("itensContagem"));
adicionarDiferencaItem(dadosCont,(Vector)dados.get("itensRecontagem"));

mesmo das duas formas, o que eu adicionar em dadosCont vai ficar em dados.get(“itensContagem”).

resumindo:
quero que perca a referencia pra que eu possa alterar um sem que o outro sofra as alterações.

o que eu estou fazendo errado ?
t+

Objetos da API Collection guardam a referência ao objeto no heap, por isso quando você altera um Hashtable que está referenciando outro Hashtable ele altera o valor do objeto. Existe um método chamara clone se não me engano, nunca usei e não tenho ideia de como usar, mas você pode tentar usar ele. Seria o caso de testar algo do tipo


 Hashtable hashClone = (Hashtable)myHash.clone();
 //aqui você modifica o hashClone depóis faz 2 chamadas a mesma chave nos 2 objetos e ve se os valores são os msm ou são diferentes

vlw pela força mais ainda assim, é alterado os 2, alguem mais tem alguma dica ?

alguem sabe como que eu vou tirar a referencia desse danado ?