code: private Map<Transport, List<String>> getURIsByTransport(Collection<String> uris) {
          Map<Transport, List<String>> urisByTransport = new HashMap<>();
  
          // iterate over URIs and group them by transport
          for (String uri : uris) {
              String uriScheme = getScheme(uri);
              Transport transport = transportFactory.getTransportForScheme(uriScheme);
              List<String> list = urisByTransport.get(transport);
              if (list == null) {
                  list = new ArrayList<>();
                  urisByTransport.put(transport, list);
              }
              list.add(uri);
          }
          return urisByTransport;
      }
docs: Return the URIs organized by transport.
  <p/>
  NOTE: because this relies on gatewayContext, we cannot call it until after the service context has been completely set up
  (and in fact not until GatewayContextResolver has constructed, as it doesn't create the DefaultGatewayContext until the
  last step in construction.
  
  @param uris
  @return