private static Set<String> splitPath(RelaxedURL url){
  Set<String> results=new HashSet<String>();
  Set<String> queries=normalizeQuery(url.getQuery());
  results.add("/");
  for (  String q : queries) {
    results.add("/?" + q);
  }
  Set<String> paths=splitPath(url.getPath());
  results.addAll(paths);
  for (  String p : paths) {
    for (    String q : queries) {
      results.add(p + "?" + q);
    }
  }
  return results;
}

private static Set < String > splitPath ( RelaxedURL url ) { Set < String > results = new HashSet < String > ( ) ; Set < String > queries = normalizeQuery ( url . getQuery ( ) ) ; results . add ( "/" ) ; for ( String q : queries ) { results . add ( "/?" + q ) ; } Set < String > paths = splitPath ( url . getPath ( ) ) ; results . addAll ( paths ) ; for ( String p : paths ) { for ( String q : queries ) { results . add ( p + "?" + q ) ; } } return results ; }
returns a list of sub parts of path of a resource name .
