code: public URI getURI() {
  		final javax.sip.address.URI localUri = getAddress().getURI();
  		if (localUri instanceof javax.sip.address.SipURI)
  			return new SipURIImpl((javax.sip.address.SipURI) localUri, isModifiable);
  		else if (localUri instanceof javax.sip.address.TelURL)
  			return new TelURLImpl((javax.sip.address.TelURL) localUri);
  		else if (localUri instanceof javax.sip.address.URI) {			
  			URI uri = new GenericURIImpl((javax.sip.address.URI) localUri);
  			// setting the value to make sure jain sip runs scheme validation on it
  			((Parameterable)uri).setValue(localUri.toString());
  			return uri;
  		}
  		else		
  			throw new IllegalArgumentException("unsupported operation - unknown scheme");
  	}
docs: /*
  (non-Javadoc)
  @see javax.servlet.sip.Address#getURI()