if (IUndoableAffectedObjects.class.equals(required)) { return new IUndoableAffectedObjects() { public Object [] getAffectedObjects() { return new Object [] { getInputJavaElement()}; } }; }
	public Object getAdapter(Class required) {		if (IContentOutlinePage.class.equals(required)) {			if (fOutlinePage == null)				fOutlinePage= createOutlinePage();			return fOutlinePage;		}		if (IEncodingSupport.class.equals(required))			return fEncodingSupport;		if (required == IShowInTargetList.class) {			return new IShowInTargetList() {				public String[] getShowInTargetIds() {					return new String[] { JavaUI.ID_PACKAGES, IPageLayout.ID_OUTLINE, IPageLayout.ID_RES_NAV };				}			};		}				if (required == IShowInSource.class) {			ISelection structuredSelection;			try {				structuredSelection= new StructuredSelection(SelectionConverter.getElementAtOffset(this));			} catch (JavaModelException ex) {				structuredSelection= null;			} finally {			}			final ISelection selection;			if (structuredSelection != null)				selection= structuredSelection;			else				selection= getSelectionProvider().getSelection();			return new IShowInSource() {				public ShowInContext getShowInContext() {					return new ShowInContext(getEditorInput(), selection);				}			};		}		if (fProjectionSupport != null) {			Object adapter= fProjectionSupport.getAdapter(getSourceViewer(), required);			if (adapter != null)				return adapter;		}		if (required == IContextProvider.class)			return JavaUIHelp.getHelpContextProvider(this, IJavaHelpContextIds.JAVA_EDITOR);		return super.getAdapter(required);	}