fSelectedRegion= editor.getSelectedRegion();
LinkedUIControl ui= new LinkedUIControl(enviroment, viewer);  ui.setExitPosition(viewer, offset, 0, false); ui.enter();  fSelectedRegion= ui.getSelectedRegion();
	public void apply(ITextViewer viewer, char trigger, int stateMask, int offset) {		try {			// create full ast			CompilationUnit root= AST.parseCompilationUnit(fCompilationUnit, true);			SimpleName nameNode= (SimpleName) NodeFinder.perform(root, fNode.getStartPosition(), fNode.getLength());			ASTNode[] sameNodes= LinkedNodeFinder.perform(root, nameNode.resolveBinding());						IDocument document= viewer.getDocument();			LinkedPositionManager manager= new LinkedPositionManager(document);						for (int i= 0; i < sameNodes.length; i++) {				ASTNode elem= sameNodes[i];				manager.addPosition(elem.getStartPosition(), elem.getLength());			}						LinkedPositionUI editor= new LinkedPositionUI(viewer, manager);			editor.setInitialOffset(offset);			editor.setFinalCaretOffset(offset);			editor.enter();						fSelectedRegion= editor.getSelectedRegion();		} catch (BadLocationException e) {		}	}	