anchor.diff:              }));
             });
           }).then((_) => _release_locks()).then((_) => nextVersion)
  -        .catchError( (e) {
  +        .catchError( (e,s ) {
             // Errors thrown by MongoDatabase are Map objects with fields err, code,
             // ...
             return _release_locks().then((_) {
  -            throw new MongoException(e);
  +            if (e is ModifierException) {
  +              throw e;
  +            } else throw new MongoException(e,s);
             });
           });
     }
  
positive.code:             }));
          }
        },
        onError: (e) {
          // Errors thrown by MongoDatabase are Map objects with fields err, code,
          // ...
          return _release_locks().then((_) {
            throw new MongoException(e);
          });
        }
        ).then((_) => _release_locks()).then((_) => nextVersion);
  
negative.code:               "author" : author,
                "version" : elem[VERSION_FIELD_NAME],
              }).toList(growable: false)),
        onError: (e,s) {
          // Errors thrown by MongoDatabase are Map objects with fields err, code,
          // ...
          return _release_locks().then((_) {
            throw new MongoException(e,s);
          });
        }
        ).then((_) => _release_locks()).then((_) => nextVersion);
  