@Override
  public @NotNull <B extends XLineBreakpoint<P>, P extends XBreakpointProperties> Collection<B> findBreakpointsAtLine(@NotNull XLineBreakpointType<P> type,
                                                                                                         @NotNull VirtualFile file,
                                                                                                         int line) {
    return withLockMaybeCancellable(myLock, () -> {
      //noinspection unchecked
      return (Collection<B>)((StreamEx<XLineBreakpoint<P>>)(StreamEx<?>)StreamEx.of(myBreakpoints.get(type))
        .select(XLineBreakpoint.class)
        .filter(b -> b.getFileUrl().equals(file.getUrl()) && b.getLine() == line))
        .toList();
    });
  }
@Override
  public @NotNull <B extends XLineBreakpoint<P>, P extends XBreakpointProperties> Collection<B> findBreakpointsAtLine(@NotNull XLineBreakpointType<P> type,
                                                                                                         @NotNull VirtualFile file,
                                                                                                         int line)