Java - ¿Cómo cargar diferentes versiones de la misma clase?

He leído mucho sobre los cargadores de clases de Java, pero hasta ahora no he podido encontrar una respuesta para esta simple pregunta:

Tengo dos versiones decom.abc.Hello.class en tarrosv1.jar yv2.jar. Quiero usar ambos en mi aplicación. ¿Cuál es la forma más sencilla de hacer esto?

No espero ser tan simple, pero algo como esto sería increíble:

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

Y en una clase diferente:

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

Me gustaría evitar el uso de OSGi.

Respuestas a la pregunta(4)

Su respuesta a la pregunta