public Map<String, String> loadAndGetPackages() throws IOException {
   Map<String, String> pyPIPackages = getPyPIPackages();
   if (pyPIPackages.isEmpty()) {
     updatePyPICache(PyPackageService.getInstance());
     pyPIPackages = getPyPIPackages();
   }
   return pyPIPackages;
 }
 @NotNull
 public Map<String, String> loadAndGetPackages() throws IOException {
   Map<String, String> pyPIPackages = getPyPIPackages();
   synchronized (myPyPIPackageCacheUpdateLock) {
     if (pyPIPackages.isEmpty()) {
       updatePyPICache(PyPackageService.getInstance());
       pyPIPackages = getPyPIPackages();
     }
   }
   return pyPIPackages;
 }