anchor.diff:              "version" : nextVersion++
           }).toList(growable: false)));
         },
  -      onError: (e) {
  +      onError: (e,s) {
           // Errors thrown by MongoDatabase are Map objects with fields err, code,
           // ...
           return _release_locks().then((_) {
  -          throw new MongoException(e);
  +          throw new MongoException(e,s);
           });
         }
         ).then((_) => _release_locks()).then((_) => nextVersion);
  
positive.code:             }));
            });
          }).then((_) => _release_locks()).then((_) => nextVersion)
          .catchError( (e) {
            // Errors thrown by MongoDatabase are Map objects with fields err, code,
            // ...
            return _release_locks().then((_) {
              throw new MongoException(e);
            });
          });
    }
  
negative.code:           oldData = data;
            return Future.forEach(data,
                (item) => collection.update({'_id': item['_id']},
                    prepare(item))
                );
          });
        }).then((_) {
  