Source:
<code>private void createReviewedPanel(){ reviewedPanel = new FlowPanel(); reviewedCheckBox = new CheckBox(); <START> reviewedCheckBox.addValueChangeHandler(new ValueChangeHandler<Boolean>() { <END> @Override public void onValueChange(ValueChangeEvent<Boolean> event) { setReviewedByCurrentUser(event.getValue()); } }); Anchor reviewedAnchor = new Anchor(PatchUtil.C.reviewed()); reviewedAnchor.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { setReviewedByCurrentUser(true); } }); final PatchValidator unreviewedValidator = new PatchValidator() { public boolean isValid(Patch patch) { return !patch.isReviewedByCurrentUser(); } }; int nextUnreviewedPatchIndex = patchSetDetail.getNextPatch(patchIndex, true, unreviewedValidator, fileList.PREFERENCE_VALIDATOR); if (nextUnreviewedPatchIndex > -1) { final PatchLink reviewedLink = fileList.createLink(nextUnreviewedPatchIndex, getPatchScreenType(), null, null); reviewedLink.setText(""); reviewedAnchor.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { reviewedLink.go(); } }); } else { final ChangeLink upLink = new ChangeLink("", patchKey.getParentKey()); reviewedAnchor.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { upLink.go(); } }); } reviewedPanel.add(reviewedCheckBox); reviewedPanel.add(reviewedAnchor); }</code><technical_language>output be: <a href="...">Reviewed</a> I reduces click area uncheck box box (instead of box text). Also, is clear link behavior. I suggest like: Reviewed | <a href="...">Review continue =></a> I precise text, this more. Some other versions work: Review continue => Reviewed => Mark reviewed => Review next unreviewed => part of text link: Reviewed <a href="...">and continue =></a> Reviewed <a href="...">and next unreviewed =></a> I this is favorite: Reviewed <a href="...">and continue =></a></technical_language>

Target:
private void createReviewedPanel(){ reviewedPanel = new FlowPanel(); reviewedCheckBox = new CheckBox(PatchUtil.C.reviewed() + " "); reviewedCheckBox.addValueChangeHandler(new ValueChangeHandler<Boolean>() { @Override public void onValueChange(ValueChangeEvent<Boolean> event) { setReviewedByCurrentUser(event.getValue()); } }); Anchor reviewedAnchor = new Anchor(PatchUtil.C.andContinue()); reviewedAnchor.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { setReviewedByCurrentUser(true); } }); final PatchValidator unreviewedValidator = new PatchValidator() { public boolean isValid(Patch patch) { return !patch.isReviewedByCurrentUser(); } }; int nextUnreviewedPatchIndex = patchSetDetail.getNextPatch(patchIndex, true, unreviewedValidator, fileList.PREFERENCE_VALIDATOR); if (nextUnreviewedPatchIndex > -1) { final PatchLink reviewedLink = fileList.createLink(nextUnreviewedPatchIndex, getPatchScreenType(), null, null); reviewedLink.setText(""); reviewedAnchor.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { reviewedLink.go(); } }); } else { final ChangeLink upLink = new ChangeLink("", patchKey.getParentKey()); reviewedAnchor.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { upLink.go(); } }); } reviewedPanel.add(reviewedCheckBox); reviewedPanel.add(reviewedAnchor); }