code: public static URLPackageScanner newInstance(boolean addRecursively, final ClassLoader classLoader,
                                                  final Callback callback, final String packageName) {
          Validate.notNull(packageName, "Package name must be specified");
          Validate.notNull(addRecursively, "AddRecursively must be specified");
          Validate.notNull(classLoader, "ClassLoader must be specified");
          Validate.notNull(callback, "Callback must be specified");
  
          return new URLPackageScanner(packageName, addRecursively, classLoader, callback);
      }
docs: Factory method to create an instance of URLPackageScanner.
  
  @param addRecursively flag to add child packages
  @param classLoader    class loader that will have classes added
  @param callback       Callback to invoke when a matching class is found
  @param packageName    Package that will be scanned
  @return new instance of URLPackageScanner