Source:
private void decorateEditorWithError(FieldDecoration fieldDecoration, FieldDecoration fieldDecorationWarning, String message, Map<String, String> newPersonProposalMap, AbstractAttributeEditor editor) { final Control control = editor.getControl(); final ControlDecoration decoration = new ControlDecoration(control, SWT.LEFT | SWT.DOWN); decoration.setImage(newPersonProposalMap.size() == 1 ? fieldDecorationWarning.getImage() : fieldDecoration.getImage()); IBindingService bindingService = PlatformUI.getWorkbench().getService(IBindingService.class); if (message != null && !message.equals("")) { decoration.setDescriptionText(message); errorDecorations.add(decoration); } else { decoration.setDescriptionText(NLS.bind( Messages.BugzillaTaskEditorPage_Content_Assist_for_Error_Available, bindingService.getBestActiveBindingFormattedFor(ContentAssistCommandAdapter.CONTENT_PROPOSAL_COMMAND))); errorDecorations.add(decoration); final PersonAttributeEditor personEditor = ((PersonAttributeEditor) editor); final PersonProposalProvider personProposalProvider = (PersonProposalProvider) personEditor.getContentAssistCommandAdapter() .getContentProposalProvider(); personProposalProvider.setErrorProposals(newPersonProposalMap); editorsWithError.add(personEditor); if (newPersonProposalMap.size() == 1) { personEditor.setValue(newPersonProposalMap.keySet().iterator().next()); } personEditor.getText().addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { decoration.hide(); errorDecorations.remove(decoration); decoration.dispose(); personProposalProvider.setErrorProposals(null); } }); } }

Target:
private void decorateEditorWithError(FieldDecoration fieldDecoration, FieldDecoration fieldDecorationWarning, String message, Map<String, String> newPersonProposalMap, AbstractAttributeEditor editor) { final Control control = editor.getControl(); final ControlDecoration decoration = new ControlDecoration(control, SWT.LEFT | SWT.DOWN); decoration.setImage(newPersonProposalMap.size() == 1 ? fieldDecorationWarning.getImage() : fieldDecoration.getImage()); IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); if (message != null && !message.equals("")) { decoration.setDescriptionText(message); errorDecorations.add(decoration); } else { decoration.setDescriptionText(NLS.bind( Messages.BugzillaTaskEditorPage_Content_Assist_for_Error_Available, bindingService.getBestActiveBindingFormattedFor(ContentAssistCommandAdapter.CONTENT_PROPOSAL_COMMAND))); errorDecorations.add(decoration); final PersonAttributeEditor personEditor = ((PersonAttributeEditor) editor); final PersonProposalProvider personProposalProvider = (PersonProposalProvider) personEditor.getContentAssistCommandAdapter() .getContentProposalProvider(); personProposalProvider.setErrorProposals(newPersonProposalMap); editorsWithError.add(personEditor); if (newPersonProposalMap.size() == 1) { personEditor.setValue(newPersonProposalMap.keySet().iterator().next()); } personEditor.getText().addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { decoration.hide(); errorDecorations.remove(decoration); decoration.dispose(); personProposalProvider.setErrorProposals(null); } }); } }