Java - como carregar diferentes versões da mesma classe?

Eu li muito sobre os carregadores de classes Java, mas até agora não consegui encontrar uma resposta para essa pergunta simples:

Eu tenho duas versões decom.abc.Hello.class em frascosv1.jar ev2.jar. Eu quero usar ambos no meu aplicativo. Qual é a maneira mais simples de fazer isso?

Eu não espero ser tão simples, mas algo nesse sentido seria incrível:

Classloader myClassLoader = [magic that includes v1.jar and ignores v2.jar]
Hello hello = myclassLoader.load[com.abc.Hello]

E em uma classe diferente:

Classloader myClassLoader = [magic that includes v2.jar and ignores v1.jar]
Hello hello = myclassLoader.load[com.abc.Hello]

Eu gostaria de evitar o uso do OSGi.

questionAnswers(4)

yourAnswerToTheQuestion