code: def serialize(self, message):
          
          for key, field in self.fields.items():
              message[key] = field.serialize(message[key])
docs: Serialize the given message in-place, converting inputs to outputs.
  
          We do this in-place for performance reasons. There are more fields in
          a message than there are L{Field} objects because of the timestamp,
          task_level and task_uuid fields. By only iterating over our L{Fields}
          we therefore reduce the number of function calls in a critical code
          path.
  
          @param message: A C{dict}.