Bug 96917 [implementation] If two editors use the 2.x-compatible API, one or both doesn't work
At least one problem is that 3.0 installs partitioners for every editor that might possibly edit a file, but each editor expects its own partitioner to be installed. Leading to the famous white screen with blue line.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/CompilationUnitDocumentProvider.java
import org.eclipse.jdt.core.compiler.IProblem;
import org.eclipse.jdt.core.dom.AST;
import org.eclipse.jdt.internal.corext.util.JavaModelUtil;
import org.eclipse.jdt.ui.JavaUI;
import org.eclipse.jdt.ui.PreferenceConstants;
import org.eclipse.jdt.ui.text.IJavaPartitions;
import org.eclipse.jdt.internal.ui.JavaPlugin;
import org.eclipse.jdt.internal.ui.JavaPluginImages;
import org.eclipse.jdt.internal.ui.text.correction.JavaCorrectionProcessor;
import org.eclipse.jdt.internal.ui.text.java.IProblemRequestorExtension;
import org.eclipse.jdt.internal.ui.text.spelling.JavaSpellingReconcileStrategy;
public class CompilationUnitDocumentProvider extends TextFileDocumentProvider implements ICompilationUnitDocumentProvider {
		/**
		 * Bundle of all required informations to allow working copy management.
		 */
		static protected class CompilationUnitInfo extends FileInfo {
			public ICompilationUnit fCopy;
		}
		/**
		 * Annotation representing an <code>IProblem</code>.
		 */
		static public class ProblemAnnotation extends Annotation implements IJavaAnnotation, IAnnotationPresentation {
			public static final String SPELLING_ANNOTATION_TYPE= "org.eclipse.ui.workbench.texteditor.spelling"; 
			
			/**
			 * The layer in which task problem annotations are located.
			 */
			private static final int TASK_LAYER;
			/**
			 * The layer in which info problem annotations are located.