anchor.diff:    GuardedDirectory dir;
   
     static Future pathExists(String path){
  -          if(FileSystemEntity.typeSync(path) == FileSystemEntityType.NOT_FOUND) return new Future.error(new FileSystemException('NOT FOUND!',path));
  -          return new Future.value(path);
  -  }
  -
  -  static create(p,r) => new GuardedFS(p,r);
  -  static use(p,r) => new GuardedFS.useFs(p,r);
  -  
  -  GuardedFS(String path,bool readonly){
  -      this.dir = GuardedDirectory.create(path,readonly);
  -  }
  -
  -  GuardedFS useFs(String path,bool readonly){
  -    this.dir = GuardedDirectory.use(path,readonly);
  +      if(FileSystemEntity.typeSync(path) == FileSystemEntityType.NOT_FOUND) return new Future.error(new FileSystemException('NOT FOUND!',path));
  +      return new Future.value(path);
  +  }
  +
  +  static create(p,r,[l]) => new GuardedFS(p,r,l);
  +  static use(p,r,[l]) => new GuardedFS.useFs(p,r,l);
  +  
  +  GuardedFS(String path,bool readonly,bool lock){
  +    lock = Funcs.switchUnless(lock,false);
  +    this.dir = GuardedDirectory.create(path,readonly,lock);
  +  }
  +
  +  GuardedFS useFs(String path,bool readonly,bool lock){
  +    lock = Funcs.switchUnless(lock,false);
  +    this.dir = GuardedDirectory.use(path,readonly,lock);
     }
   
     Future fsCheck(String path){
  
positive.code: 
  	Future createNewDir(String name,[bool r]){
  	    var root = paths.join(this.options.get('path'),name);
      	var dir = GuardedDirectory.create(root,this.options.get('readonly'));
      	return dir.createDir(r).then((j){ return dir; });
  	}
  
  	dynamic createNewDirSync(String name,[bool r]){
  	    var root = paths.join(this.options.get('path'),name);
  		var dir = GuardedDirectory.create(root,this.options.get('readonly'));
  		dir.createDirSync(r);
  		return dir;
  	}
  
  	Future createTemp(String name){
  		if(!this.writable.on()) return null;
  		return this.d.createTemp(name);
  	}
  
  	dynamic createTempSync(String name){
  		if(!this.writable.on()) return null;
  		return this.d.createTempSync(name);
  	}
  
  	Future delete([bool r]){
  
negative.code: 	}
  	 
    	sm.Streamable directoryListsAsString([bool rec,bool ff]){
            return this.directoryLists((o){ return o.path;},rec,ff); 
    	}
    
  	Future rename(String name){
  