<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_variables(self):
 """ Add variables to PomdpX Return xml containing variables tag """

        state_variables = self.model['variables']['StateVar']
        for var in state_variables:
            state_var_tag = etree.SubElement(self.variable, 'StateVar', attrib={'vnamePrev': var['vnamePrev'],
                                                                                'vnameCurr': var['vnameCurr'],
                                                                                'fullyObs': 'true' if var['fullyObs']
                                                                                else 'false'})
            self._add_value_enum(var, state_var_tag)

        obs_variables = self.model['variables']['ObsVar']
        for var in obs_variables:
            obs_var_tag = etree.SubElement(self.variable, 'ObsVar', attrib={'vname': var['vname']})
            self._add_value_enum(var, obs_var_tag)

        action_variables = self.model['variables']['ActionVar']
        for var in action_variables:
            action_var_tag = etree.SubElement(self.variable, 'ActionVar', attrib={'vname': var['vname']})
            self._add_value_enum(var, action_var_tag)

        reward_var = self.model['variables']['RewardVar']
        for var in reward_var:
            etree.SubElement(self.variable, 'RewardVar', attrib={'vname': var['vname']})

        return self.__str__(self.variable)[:-1]