def _parse_children_ordered(self,node,fields,fields_found):
        cur_field_idx = 0 
        for child in node.childNodes:
            idx = cur_field_idx
            #  If we successfully break out of this loop, one of our
            #  fields has consumed the node.
            while idx < len(fields):
                field = fields[idx]
                res = field.parse_child_node(self,child)
                if res is PARSE_DONE:
                    if field not in fields_found:
                        fields_found.append(field)
                    cur_field_idx = idx + 1
                    break
                if res is PARSE_MORE:
                    if field not in fields_found:
                        fields_found.append(field)
                    cur_field_idx = idx
                    break
                if res is PARSE_CHILDREN:
                    if field not in fields_found:
                        fields_found.append(field)
                    self._parse_children_ordered(child,[field],fields_found)
                    cur_field_idx = idx
                    break
                idx += 1
            else:
                self._handle_unparsed_node(child)
Test geocode_location returns None if the response is unusual.
dataset/ETHPy150Open rfk/dexml/dexml/__init__.py/Model._parse_children_ordered--crossover with--dataset/ETHPy150Open ofa/connect/open_connect/connect_core/tests/test_utils_location.py/GeocodeLocationTest.test_geocode_returns_invalid_format