code: public PathImpl lookup(String userPath, Map<String,Object> newAttributes)
    {
      if (newAttributes != null) {
        return lookupImpl(userPath, newAttributes, true);
      }
      else if (userPath == null) {
        return this;
      }
  
      PathImpl path = getCache(userPath);
  
      if (path != null) {
        return path;
      }
  
      path = lookupImpl(userPath, null, true);
  
      if (_startTime == 0) {
        _startTime = System.currentTimeMillis();
  
        putCache(userPath, path);
      }
  
      return path;
    }
docs: Returns a new path relative to the current one.
  
  <p>Path only handles scheme:xxx.  Subclasses of Path will specialize
  the xxx.
  
  @param userPath relative or absolute path, essentially any url.
  @param newAttributes attributes for the new path.
  
  @return the new path or null if the scheme doesn't exist