@NotNull
  public static List<AttachToProcessItem> getRecentItems(@NotNull List<? extends AttachToProcessItem> currentItems,
                                                         @NotNull XAttachHost host,
                                                         @NotNull Project project,
                                                         @NotNull UserDataHolder dataHolder) {
    final List<AttachToProcessItem> result = new ArrayList<>();
    final List<RecentItem> recentItems = getRecentItems(host, project);

    for (int i = recentItems.size() - 1; i >= 0; i--) {
      RecentItem recentItem = recentItems.get(i);
      result.addAll(ApplicationManager.getApplication().getService(XAttachRecentItemsMatcher.class)
                      .getMatchingAttachItems(recentItem, currentItems, result.isEmpty(), project, dataHolder));
    }
    return result;
  }
@NotNull
  public static List<AttachToProcessItem> getRecentItems(@NotNull List<? extends AttachToProcessItem> currentItems,
                                                         @NotNull XAttachHost host,
                                                         @NotNull Project project,
                                                         @NotNull UserDataHolder dataHolder)