code: public String getUrl(SlingHttpServletRequest request, RendererContext context) {
          String uri;
          switch (kind) {
              case FILE: // we can only refer to that exact resource.
                  uri = path;
                  break;
              case CLIENTLIB:
                  uri = ClientlibServlet.makePath(path, type, context.useMinifiedFiles(), hash);
                  break;
              case CATEGORY:
                  uri = ClientlibCategoryServlet.makePath(path, type, context.useMinifiedFiles(), hash);
                  break;
              case EXTERNALURI:
                  uri = path;
                  break;
              default:
                  throw new UnsupportedOperationException("Bug - impossible.");
          }
          String url;
          if (context.mapClientlibURLs()) {
              url = LinkUtil.getUrl(request, uri);
          } else {
              url = LinkUtil.getUnmappedUrl(request, uri);
          }
          return url;
      }
docs: Determines the URL we render into the page. We don't want to access resources here, so at least for files we need
  already to know the exact path with .min or not.
  <p>
  Cases: <ul> <li>Clientlib category: refers to the {@link com.composum.sling.clientlibs.servlet.ClientlibCategoryServlet},
  parameterized by type and minified according to {@link RendererContext#useMinifiedFiles()}. </li> <li>Clientlib:
  path to the client library plus minified and type.</li> <li>File:</li> </ul>
  
  @param request the request
  @param context the context
  @return the url