ui.setExitPolicy(new ExitPolicy('>', document));
	private void installLinkedMode(IDocument document, int[] offsets, int[] lengths, TypeArgumentProposal[] typeArgumentProposals) {		int replacementOffset= getReplacementOffset();		String replacementString= getReplacementString();		try {			LinkedModeModel model= new LinkedModeModel();			for (int i= 0; i != offsets.length; i++) {				if (typeArgumentProposals[i].isAmbiguous()) {					LinkedPositionGroup group= new LinkedPositionGroup();					group.addPosition(new LinkedPosition(document, replacementOffset + offsets[i], lengths[i], LinkedPositionGroup.NO_STOP));					model.addGroup(group);				}			}			model.forceInstall();			JavaEditor editor= getJavaEditor();			if (editor != null) {				model.addLinkingListener(new EditorHighlightingSynchronizer(editor));			}			LinkedModeUI ui= new EditorLinkedModeUI(model, getTextViewer());			ui.setExitPosition(getTextViewer(), replacementOffset + replacementString.length(), 0, Integer.MAX_VALUE);			ui.setDoContextInfo(true);			ui.enter();			fSelectedRegion= ui.getSelectedRegion();		} catch (BadLocationException e) {			JavaPlugin.log(e);			openErrorDialog(e);		}	}