<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _parse_value_node(self, vtype, node):
 # type: (str, ElementTree.Element) -> Any """ Parses a value node :param vtype: The value type :param node: The value node :return: The parsed value """

        kind = node.tag
        if kind == TAG_XML:
            # Raw XML value
            return next(iter(node))

        elif kind == TAG_LIST or kind == TAG_ARRAY:
            # List
            return [
                self._convert_value(vtype, value_node.text)
                for value_node in node.findall(TAG_VALUE)
            ]

        elif kind == TAG_SET:
            # Set
            return set(
                self._convert_value(vtype, value_node.text)
                for value_node in node.findall(TAG_VALUE)
            )

        else:
            # Unknown
            raise ValueError("Unknown value tag: {0}".format(kind))