Bug 66043 Java editor not released when window closed
build I20040607-0800 - new window - open a Java editor - close window - ASTProvider maintains a ref to the editor: GC Roots -> Object EditorPane #013d394d: Reverse Paths | +---org.eclipse.ui.internal.EditorPane (#013d394d) | +---pane of org.eclipse.ui.internal.EditorSite (#0154c573) | +---partSite of org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor (#0006b4ee) | +---fActiveEditor of org.eclipse.jdt.internal.ui.javaeditor.ASTProvider (#00eea6dc) | +---fASTProvider of org.eclipse.jdt.internal.ui.JavaPlugin (#019777af) | +---fgJavaPlugin of org.eclipse.jdt.internal.ui.JavaPlugin (#01c0a077)
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/ASTProvider.java
System.out.println(DEBUG_PREFIX + "created AST for: " + je.getElementName()); 
		if (ast != null && je.equals(fActiveJavaElement))
			cache(ast, je);
		
		return ast;
	}
	/**
	 * Tells whether a reconciler is reconciling the
	 * given Java element.
	 * 
	 * @param javaElement the Java element
	 * @return
	 */
	private boolean isReconciling(IJavaElement javaElement) {
		synchronized (fReconcileLock) {
			return javaElement.equals(fReconcilingJavaElement) && fIsReconciling;		
		}
	}
	
	/**
	 * Creates a new compilation unit AST.
	 * 
	 * @param je the Java element for which to create the AST
	 * @param progressMonitor the progress monitor
	 * @return
	 * @throws	IllegalStateException if the settings provided are
	 * 					insufficient, contradictory, or otherwise unsupported
	 */
	private CompilationUnit createAST(IJavaElement je, IProgressMonitor progressMonitor) {
		ASTParser parser = ASTParser.newParser(AST.JLS2);