def _check_unpacking(self, infered, node, targets):
if utils.is_inside_abstract_class(node):<EOL><INDENT>return<EOL><DEDENT>if utils.is_comprehension(node):<EOL><INDENT>return<EOL><DEDENT>if infered is astroid.Uninferable:<EOL><INDENT>return<EOL><DEDENT>if (<EOL>isinstance(infered.parent, astroid.Arguments)<EOL>and isinstance(node.value, astroid.Name)<EOL>and node.value.name == infered.parent.vararg<EOL>):<EOL><INDENT>return<EOL><DEDENT>if isinstance(infered, (astroid.Tuple, astroid.List)):<EOL><INDENT>values = infered.itered()<EOL>if len(targets) != len(values):<EOL><INDENT>if any(isinstance(target, astroid.Starred) for target in targets):<EOL><INDENT>return<EOL><DEDENT>self.add_message(<EOL>"<STR_LIT>",<EOL>node=node,<EOL>args=(<EOL>_get_unpacking_extra_info(node, infered),<EOL>len(targets),<EOL>len(values),<EOL>),<EOL>)<EOL><DEDENT><DEDENT>else:<EOL><INDENT>if not utils.is_iterable(infered):<EOL><INDENT>self.add_message(<EOL>"<STR_LIT>",<EOL>node=node,<EOL>args=(_get_unpacking_extra_info(node, infered),),<EOL>)<EOL><DEDENT><DEDENT>
Check for unbalanced tuple unpacking
        and unpacking non sequences.