public static Map<String, Class<?>> compile(Map<String, String> classNameSourceMap, ClassLoader classLoader) {
        return compile(classNameSourceMap, classLoader, null);
    }
@Test
    public void compileAndLoadClass() throws Exception {
        Map<String, String> source = singletonMap("org.kie.memorycompiler.ExampleClass", EXAMPLE_CLASS);
        Map<String, Class<?>> compiled = KieMemoryCompiler.compile(source, this.getClass().getClassLoader());

        Class<?> exampleClazz = compiled.get("org.kie.memorycompiler.ExampleClass");
        assertThat(exampleClazz).isNotNull();

        Object instance = exampleClazz.getDeclaredConstructors()[0].newInstance();
        Method sumMethod = exampleClazz.getMethod("sum", Integer.class, Integer.class);
        Object result = sumMethod.invoke(instance, 2, 3);
        assertThat(result).isEqualTo(5);
    }