public <T extends BaseRequest<T, R>, R extends BaseResponse> R execute(BaseRequest<T, R> request) {
        return api.send(request);
    }
@Test
    public void setMyName() {
        retry.setEnabled(false);
        BaseResponse response = bot.execute(new SetMyName().name("name").languageCode("en"));
        if (!response.isOk()) {
            assertEquals(429, response.errorCode());
            assertTrue(response.description().startsWith("Too Many Requests: retry after"));
        }
        retry.setEnabled(true);

        GetMyNameResponse nameResponse = bot.execute(new GetMyName().languageCode("en"));
        assertTrue(nameResponse.isOk());
        assertEquals("name", nameResponse.botName().name());
    }