public boolean isInPyPI(@NotNull String packageName) {
   if (myPackageNames == null) {
     final Set<String> names = new HashSet<String>();
     for (String name : getPyPIPackages().keySet()) {
       names.add(name.toLowerCase(Locale.ENGLISH));
     }
     myPackageNames = names;
   }
   return myPackageNames != null
       && myPackageNames.contains(packageName.toLowerCase(Locale.ENGLISH));
 }
 public Set<RepoPackage> getAdditionalPackageNames() {
   if (myAdditionalPackageNames == null) {
     myAdditionalPackageNames = new TreeSet<RepoPackage>();
     for (String url : PyPackageService.getInstance().additionalRepositories) {
       try {
         for (String pyPackage : getPackageNames(url)) {
           if (!pyPackage.contains(" "))
             myAdditionalPackageNames.add(new RepoPackage(pyPackage, url));
         }
       } catch (IOException e) {
         LOG.warn(e);
       }
     }
   }
   return myAdditionalPackageNames;
 }