anchor.diff:                return _limitedDiffFromVersion(diff);
               }
   
  -            if (project!=null) {
  +            if (projection!=null) {
                 for (Map elem in diff) {
                   if(elem.containsKey('data')){
  -                  project(elem['data']);
  +                  projection(elem['data']);
                   }
                 }
               }
  
positive.code:       ).then((_) => _release_locks()).then((_) => nextVersion);
    }
  
    Future<Map> diffFromVersion(num version, {project: null}) {
      try{
        return _diffFromVersion(version, project: project).then((d) {
          return d;
        });
      } on DiffNotPossibleException catch(e) {
        return data(project: project).then((d) {
          d['diff'] = null;
          return d;
        });
  
negative.code:     return new List.from(res.reversed);
    }
  
    Future<Map> _diffFromVersion(num version, {projection:null}) {
      // if (some case not covered so far) {
      // throw new DiffNotPossibleException('diff not possible');
      // selects records that fulfilled _selector before change
  