@Override
  public String build(IResourceContext ctx, AggregatedJs js) {
    StringBuilder sb = new StringBuilder(128);

    if (m_contextPath != null) {
      sb.append(m_contextPath);
    }

    if (m_servletPath != null) {
      sb.append(m_servletPath);
    }

    IResourceUrn urn = js.getMeta().getUrn();

    sb.append('/').append(urn.getResourceTypeName());
    sb.append('/').append(urn.getNamespace());
    sb.append(urn.getPathInfo());

    sb.append("?urns=");
    sb.append(
        Joiners.by('|')
            .join(
                js.getRef().getRefs(),
                new IBuilder<IJsRef>() {
                  @Override
                  public String asString(IJsRef ref) {
                    return ref.getUrn().toString();
                  }
                }));

    return sb.toString();
  }