code: private static Collection<String> toWsBalancerURIs(Collection<String> uris,
                                                      AcceptOptionsContext acceptOptionsCtx,
                                                      TransportFactory transportFactory) throws Exception {
          List<String> httpURIs = new ArrayList<>(uris.size());
          for (String uri : uris) {
              String schemeFromAcceptURI = uri.substring(0, uri.indexOf(':'));
              Protocol protocol = transportFactory.getProtocol(schemeFromAcceptURI);
              if( WsProtocol.WS.equals(protocol) || WsProtocol.WSS.equals(protocol)) {
                  for (String scheme: Arrays.asList("wsn", "wsx")) {
                      boolean secure = protocol.isSecure();
                      String wsBalancerUriScheme = secure ? scheme+"+ssl" : scheme;
                      String httpAuthority = getAuthority(uri);
                      String httpPath = getPath(uri);
                      String httpQuery = getQuery(uri);
                      httpURIs.add(buildURIAsString(wsBalancerUriScheme, httpAuthority, httpPath, httpQuery, null));
  
                      // ensure that the accept-options is updated with bindings if they exist for ws and/or wss
                      // so that the Gateway binds to the correct host:port as per the service configuration.
                      String internalURI = acceptOptionsCtx.getInternalURI(uri);
                      if ((internalURI != null) && !internalURI.equals(uri)) {
                          String authority = getAuthority(internalURI);
                          acceptOptionsCtx.addBind(wsBalancerUriScheme, authority);
                      }
                  }
              }
          }
          return httpURIs;
      }
docs: Converts a collection of WS URIs to their equivalent WSN balancer URIs.
  
  @param uris
  the URIs to convert
  @return the converted URIs
  @throws Exception