anchor.diff:  class JavaFile {
     static final String separator = Platform.pathSeparator;
     static final int separatorChar = Platform.pathSeparator.codeUnitAt(0);
  -  Path _path;
  -  JavaFile(String path) {
  -    this._path = new Path(path);
  -  }
  +  String _path;
  +  JavaFile(this._path);
     JavaFile.relative(JavaFile base, String child) {
       if (child.isEmpty) {
         this._path = base._path;
       } else {
  -      this._path = base._path.join(new Path(child));
  +      this._path = pathos.join(base._path, child);
       }
     }
     JavaFile.fromUri(Uri uri) : this(uri.path);
  +  String toString() => _path.toString();
     int get hashCode => _path.hashCode;
     bool operator ==(other) {
  -    return other is JavaFile && other._path.toNativePath() == _path.toNativePath();
  +    return other is JavaFile && other._path == _path;
     }
  -  String getPath() => _path.toNativePath();
  -  String getName() => _path.filename;
  +  String getPath() => _path;
  +  String getName() => pathos.basename(_path);
     String getParent() {
  -    var result = _path.directoryPath.toNativePath();
  +    var result = pathos.dirname(_path);
       // "." or  "/" or  "C:\"
       if (result.length < 4) return null;
       return result;
  
positive.code:     if (parent == null) return null;
      return new JavaFile(parent);
    }
    String getAbsolutePath() => _path.canonicalize().toNativePath();
    String getCanonicalPath() => _path.canonicalize().toNativePath();
    JavaFile getAbsoluteFile() => new JavaFile(getAbsolutePath());
    JavaFile getCanonicalFile() => new JavaFile(getCanonicalPath());
    bool exists() {
  
negative.code:     }
      return files;
    }
    File _newFile() => new File(_path);
    Directory _newDirectory() => new Directory(_path);
  }
  