@Override
  public int hashCode() {
    final int prime = 31;
    int result = 1;
    result = prime * result + ((key == null) ? 0 : key.hashCode());
    result = prime * result + ((keySerializerName == null) ? 0 : keySerializerName.hashCode());
    result = prime * result + ((message == null) ? 0 : message.hashCode());
    result = prime * result + ((messageSerializerName == null) ? 0 : messageSerializerName.hashCode());
    result = prime * result + ((partitionKey == null) ? 0 : partitionKey.hashCode());
    result = prime * result + ((systemStream == null) ? 0 : systemStream.hashCode());
    return result;
  }
Constructs a new OutgoingMessageEnvelope from specified components.
@param systemStream Object representing the appropriate stream of which this envelope will be sent on.
@param message A deserialized message to be sent in this envelope.
samza-api/src/main/java/org/apache/samza/system/OutgoingMessageEnvelope.java