@Override
  public boolean variantAndBreakpointMatch(@NotNull XLineBreakpoint<JavaLineBreakpointProperties> breakpoint,
                                           @NotNull XLineBreakpointType<JavaLineBreakpointProperties>.XLineBreakpointVariant variant) {
    var props = breakpoint.getProperties();
    if (variant instanceof ExactJavaBreakpointVariant exactJavaVariant) {
      return Objects.equals(props.getEncodedInlinePosition(), exactJavaVariant.myEncodedInlinePosition) ||
             // Coverage for the case:
             // 1. User sets a breakpoint on a simple line (single println). "All positions" breakpoint is set (historical and compatibility reasons).
             // 2. User adds lambda to the line.
             // 3. Just for the simplicity of UI we ignore correctness and match this "all positions" breakpoint with a "line" breakpoint variant.
             props.isAllPositions() && JavaLineBreakpointProperties.isLinePosition(exactJavaVariant.myEncodedInlinePosition);
    }
    else {
      // variant is a default line breakpoint variant or explicit "all" variant
      return props.isLinePosition();
    }
  }
@Override
  public boolean variantAndBreakpointMatch(@NotNull XLineBreakpoint<JavaLineBreakpointProperties> breakpoint,
                                           @NotNull XLineBreakpointType<JavaLineBreakpointProperties>.XLineBreakpointVariant variant)