@Nullable
  public LineBreakpoint<?> addLineBreakpoint(Document document, int lineIndex, Consumer<JavaLineBreakpointProperties> setupAction) {
    ThreadingAssertions.assertEventDispatchThread();
    if (!LineBreakpoint.canAddLineBreakpoint(myProject, document, lineIndex)) {
      return null;
    }
    var xLineBreakpoint = addXLineBreakpoint(JavaLineBreakpointType.class, document, lineIndex,
                                             p -> setupAction.accept(((JavaLineBreakpointProperties)p)));
    var breakpoint = getJavaBreakpoint(xLineBreakpoint);
    if (breakpoint instanceof LineBreakpoint<?> lineBreakpoint) {
      addBreakpoint(breakpoint);
      return lineBreakpoint;
    }
    return null;
  }
@Nullable
  public LineBreakpoint<?> addLineBreakpoint(Document document, int lineIndex, Consumer<JavaLineBreakpointProperties> setupAction)