Solving Runtime Class Conflicts with a Custom ClassLoader