void () { Map<String, PsiImportStatement> classNameToImportMap = new HashMap<>(); Map<String, PsiImportStatement> packageNameToImportMap = new HashMap<>(); Map<String, PsiImportStatementBase> nameToSingleImportMap = new HashMap<>(); PsiImportStatement[] imports = getImportStatements(); for (PsiImportStatement anImport : imports) { String qName = anImport.getQualifiedName(); if (qName == null) continue; if (anImport.isOnDemand()) { packageNameToImportMap.put(qName, anImport); } else { classNameToImportMap.put(qName, anImport); PsiJavaCodeReferenceElement importReference = anImport.getImportReference(); if (importReference == null) continue; nameToSingleImportMap.put(importReference.getReferenceName(), anImport); } } PsiImportStaticStatement[] importStatics = getImportStaticStatements(); for (PsiImportStaticStatement importStatic : importStatics) { if (!importStatic.isOnDemand()) { String referenceName = importStatic.getReferenceName(); if (referenceName != null) { nameToSingleImportMap.put(referenceName, importStatic); } } } myClassNameToImportMap = classNameToImportMap; myPackageNameToImportMap = packageNameToImportMap; myNameToSingleImportMap = nameToSingleImportMap; }