docs: public ClassGraph whitelistPackages(final String... packageNames) {
          enableClassInfo();
          for (final String packageName : packageNames) {
              final String packageNameNormalized = WhiteBlackList.normalizePackageOrClassName(packageName);
              if (packageNameNormalized.startsWith("!") || packageNameNormalized.startsWith("-")) {
                  throw new IllegalArgumentException(
                          "This style of whitelisting/blacklisting is no longer supported: " + packageNameNormalized);
              }
              // Whitelist package
              scanSpec.packageWhiteBlackList.addToWhitelist(packageNameNormalized);
              final String path = WhiteBlackList.packageNameToPath(packageNameNormalized);
              scanSpec.pathWhiteBlackList.addToWhitelist(path + "/");
              if (packageNameNormalized.isEmpty()) {
                  scanSpec.pathWhiteBlackList.addToWhitelist("");
              }
              if (!packageNameNormalized.contains("*")) {
                  // Whitelist sub-packages
                  if (packageNameNormalized.isEmpty()) {
                      scanSpec.packagePrefixWhiteBlackList.addToWhitelist("");
                      scanSpec.pathPrefixWhiteBlackList.addToWhitelist("");
                  } else {
                      scanSpec.packagePrefixWhiteBlackList.addToWhitelist(packageNameNormalized + ".");
                      scanSpec.pathPrefixWhiteBlackList.addToWhitelist(path + "/");
                  }
              }
          }
          return this;
      }