code: @Override
    public InternalResource doBuildResource(String path)
    {
      try
      {
        URI uri = _baseURL.toURI();
  
        URI newURI = new URI(uri.getScheme(),
                             uri.getUserInfo(),
                             uri.getHost(),
                             uri.getPort(),
                             getFullPath(path),
                             null,
                             null);
  
        return new URLResource(this, path, newURI.toURL(), _connectTimeout, _readTimeout);
      }
      catch(URISyntaxException e)
      {
        // should not happen
        throw new RuntimeException(e);
      }
      catch(MalformedURLException e)
      {
        // should not happen
        throw new RuntimeException(e);
      }
    }
docs: Builds a resource given a path. Only subclasses know how to do that.
  
  @param path the path to the new resource (always starts with /)
  @return the resource