anchor.diff:  
     @override
     List<int> readAsBytesSync() {
  +    _throwIfWindowsDeviceDriver();
       try {
         return _file.readAsBytesSync();
       } on io.FileSystemException catch (exception) {
  
positive.code: 
    @override
    String readAsStringSync() {
      try {
        return FileBasedSource.fileReadMode(_file.readAsStringSync());
      } on io.FileSystemException catch (exception) {
  
negative.code: 
    @override
    String toString() => path;
  
    /**
     * If the operating system is Windows and the resource references one of the
     * device drivers, throw a [FileSystemException].
     *
     * https://support.microsoft.com/en-us/kb/74496
     */
    void _throwIfWindowsDeviceDriver() {
      if (io.Platform.isWindows) {
        String shortName = this.shortName.toUpperCase();
        if (shortName == r'CON' ||
            shortName == r'PRN' ||
            shortName == r'AUX' ||
            shortName == r'CLOCK$' ||
            shortName == r'NUL' ||
            shortName == r'COM1' ||
            shortName == r'LPT1' ||
            shortName == r'LPT2' ||
            shortName == r'LPT3' ||
            shortName == r'COM2' ||
            shortName == r'COM3' ||
            shortName == r'COM4') {
          throw new FileSystemException(
              path, 'Windows device drivers cannot be read.');
        }
      }
    }
  }
  
  /**
  