public <T extends BaseRequest<T, R>, R extends BaseResponse> R execute(BaseRequest<T, R> request) {
        return api.send(request);
    }
@Test
    public void createNewStickerSet() {
        String setName = "testNEW" + System.currentTimeMillis() + "_by_pengrad_test_bot";
        String title = "test112312312";
        BaseResponse response = bot.execute(
                new CreateNewStickerSet(chatId, setName, title, new InputSticker[]{
                        new InputSticker(stickerFile, Sticker.Format.Static, new String[]{"\uD83D\uDE00"})
                                .keywords(new String[]{"yes", "no"})
                                .maskPosition(new MaskPosition(MaskPosition.Point.forehead, 10f, 20f, 1f))
                }, Sticker.Format.Static)
                        .needsRepainting(false));
        assertTrue(response.isOk());

        StickerSet set = bot.execute(new GetStickerSet(setName)).stickerSet();
        assertEquals(setName, set.name());
        assertEquals(title, set.title());
        assertFalse(set.isVideo());
        Sticker[] stickers = set.stickers();
        assertEquals(1, stickers.length);
        assertEquals("\uD83D\uDE00", stickers[0].emoji());
        assertFalse(stickers[0].isVideo());
        assertNull(stickers[0].needsRepainting());
        assertNull(stickers[0].premiumAnimation());
        assertNull(stickers[0].customEmojiId());

        response = bot.execute(new SetStickerSetTitle(setName, "new title"));
        assertTrue(response.isOk());

        String stickerId = stickers[0].fileId();
        response = bot.execute(new SetStickerEmojiList(stickerId, new String[]{"\uD83D\uDE00"}));
        assertTrue(response.isOk());

        response = bot.execute(new SetStickerKeywords(stickerId).keywords(new String[]{"ok"}));
        assertTrue(response.isOk());

        response = bot.execute(new SetStickerMaskPosition(stickerId)
                .maskPosition(new MaskPosition(MaskPosition.Point.mouth, 0f, 0f, 0f)));
        assertFalse(response.isOk());
        assertEquals("Bad Request: STICKER_MASK_COORDS_NOT_SUPPORTED", response.description());

        response = bot.execute(new DeleteStickerSet(setName));
        assertTrue(response.isOk());
    }