code: public Dialog getNewDialog(Transaction transaction) throws SipException {
  		checkState();
  		if (transaction.getClass() == ServerTransactionWrapper.class) {
  			return getNewDialog((ServerTransactionWrapper) transaction);
  			
  		} else if (transaction.getClass() == ClientTransactionWrapper.class) {
  			return getNewDialog((ClientTransactionWrapper) transaction);
  			
  		} else {
  			throw new IllegalArgumentException("unknown transaction class");
  		}
  	}
docs: /*
  (non-Javadoc)
  
  @see javax.sip.SipProvider#getNewDialog(javax.sip.Transaction)