File projectRoot = MavenProjectUtil.findProjectRoot();
ClassLoader threadContextLoader = Thread.currentThread().getContextClassLoader();
EclipseJdtCompiler complier = new EclipseJdtCompiler(threadContextLoader);
ClassLoader childLoader = complier.compile(new File(projectRoot, "src/main/java-hidden"),threadContextLoader);
@SuppressWarnings("unchecked")
Class<? extends Author> hiddenAuthorType = (Class<? extends Author>) childLoader.loadClass("types.AuthorHidden");
@SuppressWarnings("unchecked")
Class<? extends Book> hiddenBookType = (Class<? extends Book>) childLoader.loadClass("types.BookHidden");