anchor.diff:      }
       return files;
     }
  -  File _newFile() => new File(_path);
  -  Directory _newDirectory() => new Directory(_path);
  +  File _newFile() => new File.fromPath(_path);
  +  Directory _newDirectory() => new Directory.fromPath(_path);
   }
  
positive.code:         String sdkPath;
          // may be "xcodebuild/ReleaseIA32/dart" with "dart-sdk" sibling
          {
            sdkPath = pathos.join(pathos.dirname(exec), "dart-sdk");
            if (new Directory(sdkPath).existsSync()) {
              _properties[name] = sdkPath;
              return sdkPath;
            }
          }
          // probably be "dart-sdk/bin/dart"
          sdkPath = pathos.dirname(pathos.dirname(exec));
          _properties[name] = sdkPath;
          return sdkPath;
        }
  
negative.code: 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);
    }
    JavaFile.relative(JavaFile base, String child) {
      if (child.isEmpty) {
        this._path = base._path;
      } else {
        this._path = base._path.join(new Path(child));
      }
    }
    JavaFile.fromUri(Uri uri) : this(uri.path);
    int get hashCode => _path.hashCode;
    bool operator ==(other) {
      return other is JavaFile && other._path.toNativePath() == _path.toNativePath();
    }
    String getPath() => _path.toNativePath();
    String getName() => _path.filename;
    String getParent() {
      var result = _path.directoryPath.toNativePath();
      // "." or  "/" or  "C:\"
      if (result.length < 4) return null;
      return result;
  