def parse_member_metadata(cls, metadata):
        """
        Parses member metadata into a python object.
        This implementation only serializes and deserializes the StickyAssignorMemberMetadataV1 user data,
        since no StickyAssignor written in Python was deployed ever in the wild with version V0, meaning that
        there is no need to support backward compatibility with V0.

        Arguments:
          metadata (MemberMetadata): decoded metadata for a member of the group.

        Returns:
          parsed metadata (StickyAssignorMemberMetadataV1)
        """
        user_data = metadata.user_data
        if not user_data:
            return StickyAssignorMemberMetadataV1(
                partitions=[], generation=cls.DEFAULT_GENERATION_ID, subscription=metadata.subscription
            )

        try:
            decoded_user_data = StickyAssignorUserDataV1.decode(user_data)
        except Exception as e:
            # ignore the consumer's previous assignment if it cannot be parsed
            log.error("Could not parse member data", e)     # pylint: disable=logging-too-many-args
            return StickyAssignorMemberMetadataV1(
                partitions=[], generation=cls.DEFAULT_GENERATION_ID, subscription=metadata.subscription
            )

        member_partitions = []
        for topic, partitions in decoded_user_data.previous_assignment:     # pylint: disable=no-member
            member_partitions.extend([TopicPartition(topic, partition) for partition in partitions])
        return StickyAssignorMemberMetadataV1(
            # pylint: disable=no-member
            partitions=member_partitions, generation=decoded_user_data.generation, subscription=metadata.subscription
        )

        Parses member metadata into a python object.
        This implementation only serializes and deserializes the StickyAssignorMemberMetadataV1 user data,
        since no StickyAssignor written in Python was deployed ever in the wild with version V0, meaning that
        there is no need to support backward compatibility with V0.

        Arguments:
          metadata (MemberMetadata): decoded metadata for a member of the group.

        Returns:
          parsed metadata (StickyAssignorMemberMetadataV1)
        
kafka/coordinator/assignors/sticky/sticky_assignor.py