@Override public PathImpl schemeWalk(String userPath,Map<String,Object> attributes,String filePath,int offset){
  if (!isWindows()) {
    return super.schemeWalk(userPath,attributes,filePath,offset);
  }
  String canonicalPath;
  if (filePath.length() < offset + 2) {
    return super.schemeWalk(userPath,attributes,filePath,offset);
  }
  char ch1=filePath.charAt(offset + 1);
  char ch2=filePath.charAt(offset);
  if ((ch2 == '/' || ch2 == _separatorChar) && (ch1 == '/' || ch1 == _separatorChar))   return super.schemeWalk(userPath,attributes,convertFromWindowsPath(filePath.substring(offset)),0);
 else   return super.schemeWalk(userPath,attributes,filePath,offset);
}

@ Override public PathImpl schemeWalk ( String userPath , Map < String , Object > attributes , String filePath , int offset ) { if ( ! isWindows ( ) ) { return super . schemeWalk ( userPath , attributes , filePath , offset ) ; } String canonicalPath ; if ( filePath . length ( ) < offset + 2 ) { return super . schemeWalk ( userPath , attributes , filePath , offset ) ; } char ch1 = filePath . charAt ( offset + 1 ) ; char ch2 = filePath . charAt ( offset ) ; if ( ( ch2 == '/' || ch2 == _separatorChar ) && ( ch1 == '/' || ch1 == _separatorChar ) ) return super . schemeWalk ( userPath , attributes , convertFromWindowsPath ( filePath . substring ( offset ) ) , 0 ) ; else return super . schemeWalk ( userPath , attributes , filePath , offset ) ; }
lookup the path , handling windows weirdness
