@Override
  public void actionPerformed(@NotNull AnActionEvent e) {
    final Project project = e.getProject();
    if (project == null) return;
    final class ImageInfo {
      boolean retina;
      boolean normal;
      boolean dark;
      boolean retina_dark;

    }
    HashMap<String, ImageInfo> info = new HashMap<>();
    final Collection<VirtualFile> images = FilenameIndex.getAllFilesByExt(project, "png", GlobalSearchScope.projectScope(project));
    for (VirtualFile image : images) {
      final String path = image.getPath();
      final String key = toKey(path);
      ImageInfo imageInfo = info.get(key);
      if (imageInfo == null) {
        imageInfo = new ImageInfo();
        info.put(key, imageInfo);
      }
      if (path.endsWith("@2x_dark.png")) {
        imageInfo.retina_dark = true;
      } else if (path.endsWith("_dark.png")) {
        imageInfo.dark = true;
      } else if (path.endsWith("@2x.png")) {
        imageInfo.retina = true;
      } else {
        imageInfo.normal = true;
      }
    }

    final ArrayList<String> retinaMissed = new ArrayList<>();
    for (String key : info.keySet()) {
      if (!info.get(key).retina && info.get(key).normal) {
        retinaMissed.add(key);
      }
    }
    retinaMissed.sort(String.CASE_INSENSITIVE_ORDER);

    new DialogWrapper(project) {
      {
        init();
      }

      @Override
      protected @NotNull JComponent createCenterPanel() {
        return new JBScrollPane(new JTextArea(StringUtil.join(retinaMissed, "\n")));
      }
    }.show();
  }
@Override
  public void actionPerformed(@NotNull AnActionEvent e)