code: public SipServletRequest createRequest(SipApplicationSession sipAppSession,
  			String method, Address from, Address to, String handler, String originalCallId, String fromTagToUse) {
  		if (logger.isDebugEnabled()) {
  			logger
  					.debug("Creating new SipServletRequest for SipApplicationSession["
  							+ sipAppSession
  							+ "] METHOD["
  							+ method
  							+ "] FROM_A[" + from + "] TO_A[" + to + "]");
  		}
  
  		validateCreation(method, sipAppSession);
  
  		try { 
  			//javadoc specifies that a copy of the address should be done hence the clone
  			return createSipServletRequest(sipAppSession, method, (Address)from.clone(), (Address)to.clone(), handler, originalCallId, fromTagToUse);
  		} catch (ServletParseException e) {
  			logger.error("Error creating sipServletRequest", e);
  			return null;
  		}
  	}
docs: /*
  (non-Javadoc)
  
  @see javax.servlet.sip.SipFactory#createRequest(javax.servlet.sip.SipApplicationSession,
  java.lang.String, javax.servlet.sip.Address,
  javax.servlet.sip.Address)