<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def is_correct(self):
 """ Check if a group is valid. Valid mean all members exists, so list of unknown_members is empty :return: True if group is correct, otherwise False :rtype: bool """

        state = True

        # Make members unique, remove duplicates
        if self.members:
            self.members = list(set(self.members))

        if self.unknown_members:
            for member in self.unknown_members:
                msg = "[%s::%s] as %s, got unknown member '%s'" % (
                    self.my_type, self.get_name(), self.__class__.my_type, member
                )
                self.add_error(msg)
            state = False

        return super(Itemgroup, self).is_correct() and state