code: private void scanClasses0(String basePackage)
              throws IOException, ClassNotFoundException, FileNotFoundException {
          File packageDirectory = null;
          ClassLoader cld = getLoader();
          String basePackagePath = basePackage.replace('.', '/');
          Enumeration<URL> basePackageUrls = cld.getResources(basePackagePath);
          if (basePackageUrls == null || !basePackageUrls.hasMoreElements()) {
              throw new ClassNotFoundException("Base package path not found: [" + basePackagePath
                      + "]");
          }
          while (basePackageUrls.hasMoreElements()) {
              String packagePath = basePackageUrls.nextElement().getFile();
              if (packagePath.contains(JAR_FILE_PATTERN)) {
                  scanJarFile(basePackagePath, packagePath);
              } else {
                  packageDirectory = new File(packagePath);
                  scanDirectory(basePackage, packageDirectory);
              }
          }
      }
docs: HELPER CLASSES ------------------------------------------------------------------------------