Partial revert of fb309156 (Reduce number of I/O operations for libraries with many files)
diff --git a/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/MetadataLibraryBasedSymbolProvider.kt b/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/MetadataLibraryBasedSymbolProvider.kt
index fbcb62b..f8cbc5e 100644
--- a/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/MetadataLibraryBasedSymbolProvider.kt
+++ b/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/MetadataLibraryBasedSymbolProvider.kt
@@ -70,12 +70,10 @@
         val librariesWithFragment = fragmentNamesInLibraries[packageStringName] ?: return emptyList()
 
         return librariesWithFragment.flatMap { resolvedLibrary ->
-
-            val moduleData = moduleData(resolvedLibrary) ?: return@flatMap emptyList()
-
-            resolvedLibrary.packageMetadataParts(packageStringName).map {
+            resolvedLibrary.packageMetadataParts(packageStringName).mapNotNull {
                 val fragment = getPackageFragment(resolvedLibrary, packageStringName, it)
 
+                val moduleData = moduleData(resolvedLibrary) ?: return@mapNotNull null
                 val packageProto = fragment.`package`
 
                 val nameResolver = NameResolverImpl(