@utilities.arguments_not_none<EOL><INDENT>def set_zone_order(self, zone_ids):<DEDENT>
reordered_zones = []<EOL>current_zone_ids = [z['<STR_LIT:id>'] for z in self.my_osid_object_form._my_map['<STR_LIT>']]<EOL>if set(zone_ids) != set(current_zone_ids):<EOL><INDENT>raise IllegalState('<STR_LIT>')<EOL><DEDENT>for zone_id in zone_ids:<EOL><INDENT>for current_zone in self.my_osid_object_form._my_map['<STR_LIT>']:<EOL><INDENT>if zone_id == current_zone['<STR_LIT:id>']:<EOL><INDENT>reordered_zones.append(current_zone)<EOL>break<EOL><DEDENT><DEDENT><DEDENT>self.my_osid_object_form._my_map['<STR_LIT>'] = reordered_zones<EOL>
reorder zones per the passed in list
        :param zone_ids:
        :return: