public DescribeGroupsResponseData.DescribedGroupMember describe(String protocolName) {
        return describeNoMetadata().setMemberMetadata(metadata(protocolName));
    }
@Test
    public void testDescribe() {
        JoinGroupRequestProtocolCollection protocols = new JoinGroupRequestProtocolCollection(Collections.singletonList(
            new JoinGroupRequestProtocol()
                .setName("range")
                .setMetadata(new byte[]{0})
        ).iterator());

        ClassicGroupMember member = new ClassicGroupMember(
            "member",
            Optional.of("group-instance-id"),
            "client-id",
            "client-host",
            10,
            4500,
            "generic",
            protocols,
            new byte[0]
        );

        DescribeGroupsResponseData.DescribedGroupMember expectedDescribedGroupMember =
            new DescribeGroupsResponseData.DescribedGroupMember()
                .setMemberId("member")
                .setGroupInstanceId("group-instance-id")
                .setClientId("client-id")
                .setClientHost("client-host")
                .setMemberAssignment(new byte[0])
                .setMemberMetadata(member.metadata("range"));

        DescribeGroupsResponseData.DescribedGroupMember describedGroupMember = member.describe("range");

        assertEquals(expectedDescribedGroupMember, describedGroupMember);
    }