CompilationUnit astRoot= JavaPlugin.getDefault().getASTProvider().getAST(input, true, monitor);
CompilationUnit astRoot= JavaPlugin.getDefault().getASTProvider().getAST(input, ASTProvider.WAIT_ACTIVE_ONLY, monitor);
		protected IStatus calculateASTandInform(IJavaElement input, ITextSelection selection, IProgressMonitor monitor) {			if (monitor.isCanceled()) {				return Status.CANCEL_STATUS;			}			// create AST			try {				CompilationUnit astRoot= JavaPlugin.getDefault().getASTProvider().getAST(input, true, monitor);							if (astRoot != null && !monitor.isCanceled()) {					Object[] listeners;					synchronized (PartListenerGroup.this) {						listeners= fAstListeners.getListeners();					}					for (int i= 0; i < listeners.length; i++) {						((ISelectionListenerWithAST) listeners[i]).selectionChanged(fPart, selection, astRoot);						if (monitor.isCanceled()) {							return Status.CANCEL_STATUS;						}					}					return Status.OK_STATUS;				}			} catch (OperationCanceledException e) {				// thrown when cancelling the AST creation			}			return Status.CANCEL_STATUS;		}