### Question:
BeginMessage implements RequestMessage { public Duration transactionTimeout() { return this.txTimeout; } BeginMessage();  BeginMessage( MapValue meta ); Bookmark bookmark(); Duration transactionTimeout(); @Override boolean safeToProcessInAnyState(); @Override boolean equals( Object o ); @Override int hashCode(); @Override String toString(); MapValue meta(); Map<String,Object> transactionMetadata(); static final byte SIGNATURE; }### Answer:
@Test void shouldParseTransactionTimeoutCorrectly() throws Throwable { Map<String,Object> msgMetadata = map( "tx_timeout", 123456L ); MapValue meta = ValueUtils.asMapValue( msgMetadata ); BeginMessage beginMessage = new BeginMessage( meta ); assertThat( beginMessage.transactionTimeout().toMillis(), equalTo( 123456L ) ); }