@Override
  public void sendRequest(@NotNull Request request, @Nullable AbstractResponseToRequestHandler<? extends Response> handler,
                          int timeout, @NotNull Runnable onTimeout) {
    myTimeouts.put(request.getId(), new TimeoutInfo(timeout, onTimeout));
    sendRequest(request, handler);
  }
@Override
  public void sendRequest(@NotNull Request request, @Nullable AbstractResponseToRequestHandler<? extends Response> handler,
                          int timeout, @NotNull Runnable onTimeout)