anchor.diff:      returnMap[_PATH] = this._path.toString();
       returnMap[_HASH] = this._fileHash;
       
  -    returnMap[_DEPENDENCIES] = this._dependencies.map((FileNode node) {
  -      var map = new Map();
  -      
  -      map[_NAME] = node._name;
  -      map[_PATH] = node._path.toString();
  -      map[_HASH] = node._fileHash;
  -      
  -      return map;
  -    }).toList(growable: false);
  +    if (this._dependencies != null && this._dependencies.length > 0) {
  +      returnMap[_DEPENDENCIES] = this._dependencies.map((FileNode node) {
  +        var map = new Map();
  +        
  +        map[_NAME] = node._name;
  +        map[_PATH] = node._path.toString();
  +        map[_HASH] = node._fileHash;
  +        
  +        return map;
  +      }).toList(growable: false);
  +    }
       
       return returnMap;
     }
  
positive.code:         } else {
            Set<Path> directoriesToCreate = new Set<Path>(); 
  
            // Create list of directories there is needed
            _dependencies.forEach((FileNode node) {
              Path directory = spawnDirectoryPath.join(node.path).directoryPath;
              directoriesToCreate.add(directory);
            });
  
negative.code:             // file will be downloaded from the network.
              List<RequestBundle> missingFiles = new List<RequestBundle>();
              
              Future.wait(neededFiles.map((FileNode node) {
                Path hashFilePath = 
                    hashDirPath.append("${node.fileHashString}.dart");
                
  