tcc ajustado, adicionado versao com WeakHashMap