void (PsiElement what, PsiElement from, boolean referencedFromClassInitializer) { if (what != null && from != null){ final VirtualFile virtualFile = PsiUtilCore.getVirtualFile(what); final VirtualFile containingDir = virtualFile != null ? virtualFile.getParent() : null; if (containingDir != null) { final VirtualFile libraryClassRoot = myFileIndex.getClassRootForFile(containingDir); if (libraryClassRoot != null) { final Module fromModule = ModuleUtilCore.findModuleForPsiElement(from); if (fromModule != null){ final RefModule refModule = myManager.getRefModule(fromModule); if (refModule != null) { Set<VirtualFile> usedRoots = refModule.getUserData(USED_LIBRARY_ROOTS); if (usedRoots == null){ usedRoots = new HashSet<>(); refModule.putUserData(USED_LIBRARY_ROOTS, usedRoots); } usedRoots.add(libraryClassRoot); } } } } } }