public <T extends BaseRequest<T, R>, R extends BaseResponse> R execute(BaseRequest<T, R> request) {
        return api.send(request);
    }
@Test
    public void getChatMember() {
        restrictChatMember();
        ChatMember chatMember = bot.execute(new GetChatMember(groupId, memberBot)).chatMember();
        ChatMemberTest.check(chatMember);
        assertEquals(ChatMember.Status.restricted, chatMember.status());
        assertEquals(Integer.valueOf(0), chatMember.untilDate());
        assertFalse(chatMember.canPostMessages());
        assertFalse(chatMember.canEditMessages());
        assertTrue(chatMember.isMember());
        assertTrue(chatMember.canChangeInfo());
        assertTrue(chatMember.canInviteUsers());
        assertTrue(chatMember.canPinMessages());
        assertTrue(chatMember.canSendPolls());
        assertTrue(chatMember.canSendMessages());
        assertTrue(chatMember.canSendAudios());
        assertTrue(chatMember.canSendDocuments());
        assertTrue(chatMember.canSendPhotos());
        assertTrue(chatMember.canSendVideos());
        assertTrue(chatMember.canSendVideoNotes());
        assertTrue(chatMember.canSendVoiceNotes());
        assertFalse(chatMember.canSendOtherMessages());
        assertFalse(chatMember.canAddWebPagePreviews());
        assertTrue(chatMember.canManageTopics());
    }