final ReviewResult result = new ReviewResult();
result.setChangeId(changeId);
final ChangeControl control = changeControlFactory.validateFor(changeId);
final Change change = db.changes().get(changeId);
final PatchSet.Id patchSetId = change.currentPatchSetId();
final PatchSet patch = db.patchSets().get(patchSetId);
if (!control.canAbandon()) {
result.addError(new ReviewResult.Error(
ReviewResult.Error.Type.ABANDON_NOT_PERMITTED));
} else if (patch == null) {