Bonjour à tous

J'ai une classe qui gère des collections. J'ai plusieurs attributs de type ArrayList<T> ou T prendre plusieurs formes différentes. J'aimerais les gérer de la même manière, or je me heurte à des name clash à cause du Type Erasure de Java, c'est-à-dire que le compilateur ne regarde que le type du container pour déterminer la signature des méthodes.

Donc ces 3 méthodes ont la même signature:

public void set(ArrayList<Double> v) { };
public void set(ArrayList<ArrayList<Double>> vv) { };
public void set(ArrayList<ArrayList<ArrayList>>> vvv) { };

J'aimerais éviter d'utiliser des noms différents pour ces méthodes car j'utilise ces collections de manière dynamiques, c'est à dire que l'utilisateur ne sait pas quelle collection il utilise à un moment T.

Donc ma question est la suivante: connaissez-vous une manière de contourner ce Type Erasure et le name clash pour arriver à mes fins ?

Merci d'avance