getViewSite().getWorkbenchWindow().getSelectionService().addPostSelectionListener(this);
getViewSite().getPage().addPostSelectionListener(this);
	public void createPartControl(Composite parent) {		Assert.isTrue(fViewer == null);		fTypeComparator= new JavaElementTypeComparator();		// Setup viewer		fViewer= createViewer(parent);		fLabelProvider= createLabelProvider();		fViewer.setLabelProvider(createDecoratingLabelProvider(fLabelProvider));				fViewer.setSorter(createJavaElementSorter());		fViewer.setUseHashlookup(true);		fTitleProvider= createTitleProvider();				createContextMenu();		getSite().setSelectionProvider(fViewer);		createActions(); // call before registering for selection changes		addKeyListener();		if (fMemento != null)			restoreState(fMemento);		getSite().setSelectionProvider(fViewer);				// Status line		IStatusLineManager slManager= getViewSite().getActionBars().getStatusLineManager();		fViewer.addSelectionChangedListener(createStatusBarUpdater(slManager));					hookViewerListeners();		// Filters		addFilters();		// Initialize viewer input		fViewer.setContentProvider(createContentProvider());		setInitialInput();				initDragAndDrop();				// Initialize selecton		setInitialSelection();		fMemento= null;						// Listen to workbench window changes		getViewSite().getWorkbenchWindow().getSelectionService().addPostSelectionListener(this);		getViewSite().getPage().addPartListener(fPartListener);		fillActionBars(getViewSite().getActionBars());				setHelp();	}