code: @Override
          public List<SipURI> locateURIs(SipURI uri) {
              List<SipURI> uris = new CopyOnWriteArrayList();
              if (uri instanceof SipURIImpl && createAddressFactory != null) {
                  SipURIImpl uriImpl = (SipURIImpl) uri;
                  Queue<Hop> hops = dnsServerLocator.locateHops(uriImpl.getSipURI());
                  if(hops != null) {
                      for (Hop hop : hops) {
                          javax.sip.address.SipURI createSipURI;
                          try {
                              //use null as user so this uri may be used potentially
                              //as Route Header
                              createSipURI = createAddressFactory.createSipURI(null, hop.getHost());
                              createSipURI.setPort(hop.getPort());
                              createSipURI.setTransportParam(hop.getTransport());
                              SipURI sipURI = new SipURIImpl(createSipURI, ModifiableRule.NotModifiable);
                              uris.add(sipURI);
                          } catch (ParseException ex) {
                              logger.debug("Error creating SipURI.", ex);
                          }
                      }
                  }
              }
              return uris;
          }
docs: /* (non-Javadoc)
  @see org.mobicents.javax.servlet.sip.dns.DNSResolver#locateURIs(javax.servlet.sip.URI)