### Question:
IEXMessageHeader { @Override public int hashCode() { return Objects.hash(version, messageProtocolID, channelID, sessionID, payloadLength, messageCount, streamOffset, firstMessageSequenceNumber, sendTime); } private  IEXMessageHeader(
            final byte version,
            final IEXMessageProtocol messageProtocolID,
            final int channelID,
            final int sessionID,
            final short payloadLength,
            final short messageCount,
            final long streamOffset,
            final long firstMessageSequenceNumber,
            final long sendTime); static IEXMessageHeader createIEXMessageHeader(final byte[] bytes); byte getVersion(); IEXMessageProtocol getMessageProtocolID(); int getChannelID(); int getSessionID(); short getPayloadLength(); short getMessageCount(); long getStreamOffset(); long getFirstMessageSequenceNumber(); long getSendTime(); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString(); static final int LENGTH; }### Answer:
@Test public void shouldTwoInstancesWithSameValuesBeEqual() { final IEXMessageHeader iexMessageHeader_1 = defaultMessageHeader(); final IEXMessageHeader iexMessageHeader_2 = defaultMessageHeader(); assertThat(iexMessageHeader_1).isEqualTo(iexMessageHeader_2); assertThat(iexMessageHeader_1.hashCode()).isEqualTo(iexMessageHeader_2.hashCode()); }