fProposalShell.addDisposeListener(new DisposeListener() { public void widgetDisposed(DisposeEvent e) { unregister(); } });
	private void createProposalSelector() {		if (Helper2.okToUse(fProposalShell))			return;					Control control= fViewer.getTextWidget();		fProposalShell= new Shell(control.getShell(), SWT.ON_TOP);//		fProposalShell= new Shell(control.getShell(), SWT.ON_TOP | SWT.RESIZE );		fProposalTable= new Table(fProposalShell, SWT.H_SCROLL | SWT.V_SCROLL);//		fProposalTable= new Table(fProposalShell, SWT.H_SCROLL | SWT.V_SCROLL);				fProposalTable.setLocation(0, 0);		if (fAdditionalInfoController != null)			fAdditionalInfoController.setSizeConstraints(50, 10, true, false);				GridLayout layout= new GridLayout();		layout.marginWidth= 0;		layout.marginHeight= 0;				fProposalShell.setLayout(layout);				GridData data= new GridData(GridData.FILL_BOTH);		fProposalTable.setLayoutData(data);		fProposalShell.pack();				// set location		Point currentLocation= fProposalShell.getLocation();		Point newLocation= getLocation();		if ((newLocation.x < currentLocation.x && newLocation.y == currentLocation.y) || newLocation.y < currentLocation.y) 			fProposalShell.setLocation(newLocation);		if (fAdditionalInfoController != null) {			fProposalShell.addControlListener(new ControlListener() {								public void controlMoved(ControlEvent e) {}								public void controlResized(ControlEvent e) {					// resets the cached resize constraints					fAdditionalInfoController.setSizeConstraints(50, 10, true, false);				}			});		}				fProposalShell.setBackground(control.getDisplay().getSystemColor(SWT.COLOR_BLACK));				Color c= fContentAssistant.getProposalSelectorBackground();		if (c == null)			c= control.getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND);		fProposalTable.setBackground(c);				c= fContentAssistant.getProposalSelectorForeground();		if (c == null)			c= control.getDisplay().getSystemColor(SWT.COLOR_INFO_FOREGROUND);		fProposalTable.setForeground(c);				fProposalTable.addSelectionListener(new SelectionListener() {						public void widgetSelected(SelectionEvent e) {}			public void widgetDefaultSelected(SelectionEvent e) {				selectProposalWithMask(e.stateMask);			}		});		fPopupCloser.install(fContentAssistant, fProposalTable);				fProposalTable.setHeaderVisible(false);		fContentAssistant.addToLayout(this, fProposalShell, ContentAssistant2.LayoutManager.LAYOUT_PROPOSAL_SELECTOR, fContentAssistant.getSelectionOffset());	}