public List<String> findClassInPackage(String pkg, String contains) {        
        File directory = null;
        String relPath = pkg.replace('.', '/');
        
        URL ressource = ClassLoader.getSystemClassLoader().getResource(relPath);
        
        try {
            directory = new File(ressource.toURI());
        } catch (URISyntaxException e) {
            
        } catch (IllegalArgumentException e) {
            
        }
        
        List<String> lesClass = new ArrayList();
        
        if(directory != null && directory.exists()) {
            File[] files = directory.listFiles();
            for(int i = 0; i < files.length; i++) {
                if(files[i].isDirectory() == true) {
                    try {
                        lesClass.addAll(findClassInPackage(pkg+"."+files[i].getName(), contains));
                    } catch (Exception e) {
                        System.out.println(e.getMessage());
                    }
                } else {
                    if(files[i].getName().endsWith(".class") && files[i].getName().contains(contains)) {
                        String className = pkg+"."+files[i].getName().substring(0, files[i].getName().length() - 6);
                        lesClass.add(className);
                    }
                }
            }
        }
        return lesClass;
    }