private void assertScoreIsAllowed( final PatchSet.Id patchSetId, final ChangeControl changeControl, ApproveOption ao, Short v) throws UnloggedFailure { final PatchSetApproval psa = new PatchSetApproval( new PatchSetApproval.Key(patchSetId, currentUser.getAccountId(), ao.getCategoryId()), v); final FunctionState fs = functionStateFactory.create( changeControl.getChange(), patchSetId, Collections.<PatchSetApproval>emptyList()); psa.setValue(v); fs.normalize(approvalTypes.byId(psa.getCategoryId()), psa); if (v != psa.getValue()) { throw error(ao.name() + "=" + ao.value() + " not permitted"); } }