@Override
      public void onClosed(@NotNull LightweightWindowEvent event) {
        @Nullable UsageNode node = getSelectedUsageNode(table);
        Usage usage = node != null ? node.getUsage() : null;
        UsageInfo2UsageAdapter usageAdapter = ObjectUtils.tryCast(usage, UsageInfo2UsageAdapter.class);
        UsageInfo usageInfo = usageAdapter != null ? usageAdapter.getUsageInfo() : null;
        int preselectedRowNumber = getRowNumber(preselectedRow.get(), table);
        int selectedRowNumber = getRowNumber(node, table);
        Long popupShownTime = popupShownTimeRef.get();
        Long durationTime = popupShownTime != null ? System.currentTimeMillis() - popupShownTime : null;
        ReadAction.nonBlocking(() ->
                                 actionHandler.buildFinishEventData(usageInfo)
        ).submit(AppExecutorUtil.getAppExecutorService()).onSuccess((finishEventData) -> {
          UsageViewStatisticsCollector.logPopupClosed(project, usageView, event.isOk(),
                                                      preselectedRowNumber,
                                                      selectedRowNumber, visibleUsages.size(),
                                                      durationTime,
                                                      finishEventData
          );
        });
      }
@Override
      public void onClosed(@NotNull LightweightWindowEvent event)