private ServiceBuilderImpl(ServiceBuilderImpl<T> builder){
  Objects.requireNonNull(builder);
  _services=null;
  _address=builder.address();
  if (_address != null) {
    _name=_address;
  }
 else {
    _name=builder.name();
  }
  _workers=builder.workers();
  _api=builder.api();
  _queueSize=builder.queueSize();
  _queueSizeMax=builder.queueSizeMax();
  _offerTimeout=builder.queueTimeout();
  _queueFullHandler=builder.queueFullHandler();
  _isPublic=builder.isPublic();
  _isAutoStart=builder.isAutoStart();
  _isJournal=builder.isJournal();
  _journalMaxCount=builder.journalMaxCount();
  _journalDelay=builder.journalDelay();
}

private ServiceBuilderImpl ( ServiceBuilderImpl < T > builder ) { Objects . requireNonNull ( builder ) ; _services = null ; _address = builder . address ( ) ; if ( _address != null ) { _name = _address ; } else { _name = builder . name ( ) ; } _workers = builder . workers ( ) ; _api = builder . api ( ) ; _queueSize = builder . queueSize ( ) ; _queueSizeMax = builder . queueSizeMax ( ) ; _offerTimeout = builder . queueTimeout ( ) ; _queueFullHandler = builder . queueFullHandler ( ) ; _isPublic = builder . isPublic ( ) ; _isAutoStart = builder . isAutoStart ( ) ; _isJournal = builder . isJournal ( ) ; _journalMaxCount = builder . journalMaxCount ( ) ; _journalDelay = builder . journalDelay ( ) ; }
snapshot / dto to protect against changes .
