docs: def reorder(self, fields_in_new_order):
          """
          Pass in field names in the order you wish them to be swapped.
          """
          if not len(fields_in_new_order) == len(self.fields):
              raise Exception("Fields to reorder with are not the same length "
                              "(%s) as the original fields (%s)" %
                              (len(fields_in_new_order), len(self.fields)))
          if not set(fields_in_new_order) == set(self.fields):
              raise Exception("Fields to reorder with should be the same "
                              "as the original fields")
          new = OrderedDict()
          for field in fields_in_new_order:
              new[field] = self.__data[field]
          self.__data = new