public <T extends BaseRequest<T, R>, R extends BaseResponse> R execute(BaseRequest<T, R> request) {
        return api.send(request);
    }
@Test
    public void editMessageLiveLocation() {
        BaseResponse response = bot.execute(new EditMessageLiveLocation(chatId, 10009, 21, 105)
                .replyMarkup(new InlineKeyboardMarkup()));
        if (!response.isOk()) {
            assertEquals(400, response.errorCode());
            assertEquals("Bad Request: message can't be edited", response.description());
        }

        String buttonText = "btn_" + System.currentTimeMillis();
        response = bot.execute(
                new EditMessageLiveLocation("AgAAAPrwAQCj_Q4D2s-51_8jsuU", 21, 102)
                        .horizontalAccuracy(1f)
                        .heading(10)
                        .proximityAlertRadius(100)
                        .replyMarkup(new InlineKeyboardMarkup(new InlineKeyboardButton(buttonText).callbackGame(buttonText)))
        );
        assertTrue(response.isOk());
    }