Bug 14444 java editor refers to internal jcore classes
ClassFileEditor CompilationUnitDocumentProvider JavaMarkerAnnotation
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/ClassFileEditor.java
if (classFileInput.getClassFile() != null)
				input= classFileInput;
		}
		
		return input;
	}
	
	/*
	 * @see AbstractTextEditor#doSetInput(IEditorInput)
	 */
	protected void doSetInput(IEditorInput input) throws CoreException {
		input= transformEditorInput(input);
		if (!(input instanceof IClassFileEditorInput))
			throw new CoreException(new JavaModelStatus(IJavaModelStatusConstants.INVALID_RESOURCE_TYPE, JavaEditorMessages.getString("ClassFileEditor.error.invalid_input_message"))); 
		JavaModelException e= probeInputForSource(input);
		if (e != null) {
			IClassFileEditorInput classFileEditorInput= (IClassFileEditorInput) input;
			IClassFile file= classFileEditorInput.getClassFile();
			if (!file.getJavaProject().isOnClasspath(file)) {
				throw new CoreException(new JavaModelStatus(IJavaModelStatusConstants.INVALID_RESOURCE, JavaEditorMessages.getString("ClassFileEditor.error.classfile_not_on_classpath"))); 
			} else {
				throw e;
			}
		}
		IDocumentProvider documentProvider= getDocumentProvider();
		if (documentProvider instanceof ClassFileDocumentProvider)
			((ClassFileDocumentProvider) documentProvider).removeInputChangeListener(this);
		super.doSetInput(input);
		documentProvider= getDocumentProvider();
		if (documentProvider instanceof ClassFileDocumentProvider)