question: public DistributedLogMultiStreamWriter build ( ) { Preconditions . checkArgument ( ( null != _streams && ! _streams . isEmpty ( ) ) , "No streams provided" ) ; Preconditions . checkNotNull ( _client , "No distributedlog client provided" ) ; Preconditions . checkNotNull ( _codec , "No compression codec provided" ) ; Preconditions . checkArgument ( _firstSpeculativeTimeoutMs > 0 && _firstSpeculativeTimeoutMs <= _maxSpeculativeTimeoutMs && _speculativeBackoffMultiplier > 0 && _maxSpeculativeTimeoutMs < _requestTimeoutMs , "Invalid speculative timeout settings" ) ; return new DistributedLogMultiStreamWriter ( _streams , _client , Math . min ( _bufferSize , MAX_LOGRECORDSET_SIZE ) , _flushIntervalMicros , _requestTimeoutMs , _firstSpeculativeTimeoutMs , _maxSpeculativeTimeoutMs , _speculativeBackoffMultiplier , _codec , _ticker , _executorService ) ; }
target:  Build the multi stream writer.