@Override
  public void handleUnzippedDirectories(@NotNull File dir, @NotNull List<? super File> filesToRefresh) throws IOException {
    if (myModuleDescriptions.getValue() == null) {
      filesToRefresh.add(dir);
      return;
    }

    for (RootDescription description : myModuleDescriptions.getValue()) {
      File root = new File(dir, ROOT_FILE_NAME + description.myIndex);
      if (root.listFiles() == null) continue;
      File target = new File(dir.getAbsolutePath() + "/" + description.myRelativePath);
      //noinspection ResultOfMethodCallIgnored
      target.mkdirs();
      FileUtil.copyDir(root, target);
      FileUtil.delete(root);
      filesToRefresh.add(target);
    }
  }
@Override
  public void handleUnzippedDirectories(@NotNull File dir, @NotNull List<? super File> filesToRefresh)