void (@NotNull File dir, @NotNull ClasspathCache.LoaderDataBuilder context) { context.addResourcePackageFromName(getRelativeResourcePath(dir)); final File[] files = dir.listFiles(); if (files == null) { return; } boolean containsClasses = false; for (File file : files) { final boolean isClass = file.getPath().endsWith(UrlClassLoader.CLASS_EXTENSION); if (isClass) { if (!containsClasses) { context.addClassPackageFromName(getRelativeResourcePath(file)); containsClasses = true; } context.addPossiblyDuplicateNameEntry(file.getName()); } else { context.addPossiblyDuplicateNameEntry(file.getName()); buildPackageCache(file, context); } } }