private void processAttraction(@Nullable String contentId, @Nullable String condition,
                                 @NotNull LayoutAttractionPolicy defaultPolicy,
                                 boolean afterInitialized,
                                 boolean activate) {
    if (contentId == null) return;
    IdeFocusManager.getInstance(getProject()).doWhenFocusSettlesDown(() -> myInitialized.processOnDone(() -> {
      Content content = findContent(contentId);
      if (content == null) return;

      LayoutAttractionPolicy policy = getOrCreatePolicyFor(contentId, condition, myAttractions, defaultPolicy);
      if (activate) {
        // See IDEA-93683, bounce attraction should not disable further focus attraction
        if (!(policy instanceof LayoutAttractionPolicy.Bounce)) {
          myAttractionCount++;
        }
        policy.attract(content, myRunnerUi);
      }
      else {
        policy.clearAttraction(content, myRunnerUi);
      }
    }, afterInitialized));
  }
private void processAttraction(@Nullable String contentId, @Nullable String condition,
                                 @NotNull LayoutAttractionPolicy defaultPolicy,
                                 boolean afterInitialized,
                                 boolean activate)