public static boolean classInJarImplementsIface(java.io.File jar, String fqcn, Class xface) {
        boolean ret = false;
        java.net.URLClassLoader loader = null;
        try {
            loader = (URLClassLoader) ClassLoaderUtils.loadJar(jar);
            if (xface.isAssignableFrom(Class.forName(fqcn, false, loader))){
                ret = true;
            }
        } catch (ClassNotFoundException | NoClassDefFoundError | IOException e) {
            throw new RuntimeException(e);
        } finally {
            if (loader != null) {
                try {
                    loader.close();
                } catch (IOException e) {
                    throw new UncheckedIOException(e);
                }
            }
        }
        return ret;
    }
@Test
    public void testClassInJarImplementsIface() {
        assertTrue(Reflections.classImplementsIface(aImplementation.class.getName(), aInterface.class));
        assertFalse(Reflections.classImplementsIface(aImplementation.class.getName(), bInterface.class));
    }