def handle_variables(self, element):
        # element_name="variables"
        #   <xsd:complexType>
        #     <xsd:choice>
        #       <xsd:element ref="variable" minOccurs="0"
        #                    maxOccurs="unbounded"/>
        #       <xsd:element ref="variableMap" minOccurs="0"/>
        #     </xsd:choice>
        #     <xsd:attribute name="vocabulary" type="variableNameVocabulary"
        #                    use="optional"/>
        #     <xsd:attributeGroup ref="XLink"/>
        #   </xsd:complexType>
        type_name = "variables"  # noqa
        variables = {}
        variable_list = []
        variable_map_list = []
        for child in element:
            child_type = self._get_tag_name(child)

            if child_type == "variable":
                var = self.handle_variable(child)
                variable_list.append(var)
            elif child_type == "variableMap":
                var_map = self.handle_variableMap(element)
                variable_map_list.append(var_map)

        opt_attrs = self._variables_opt_attrs()
        for attr in element.attrib:
            if opt_attrs in attr:
                variables[attr] = element.attrib[attr]

        if variable_list:
            variables["variables"] = variable_list

        if variable_map_list:
            variables["variableMaps"] = variable_map_list
        return variables
dataset/ETHPy150Open Unidata/siphon/siphon/metadata.py/_ComplexTypes.handle_variables/swapped operands of `in`