public void loadPackages() throws IOException {
    // This lock is solely to prevent multiple threads from updating
    // the mammoth cache of PyPI packages simultaneously.
    synchronized (myPyPIPackageCacheUpdateLock) {
      final PyPIPackageCache cache = PyPIPackageCache.getInstance();
      if (cache.getPackageNames().isEmpty()) {
        updatePyPICache();
      }
    }
  }
public void loadPackages()