Bug 127184 New API elements missing @since
Build id: I20060208-0848 The following new API elements in Eclipse 3.2 are missing "@since 3.2" tags: org.eclipse.jdt.ui.actions.FindExceptionOccurrencesAction#selectionChanged(org.eclipse.jface.viewers.IStructuredSelection) org.eclipse.jdt.ui.actions.FindImplementOccurrencesAction#selectionChanged(org.eclipse.jface.viewers.IStructuredSelection) org.eclipse.jdt.ui.actions.JdtActionConstants#INTRODUCE_INDIRECTION org.eclipse.jdt.ui.jarpackager.JarPackageData#createJarWriter3(org.eclipse.swt.widgets.Shell) org.eclipse.ltk.core.refactoring.CompositeChange#getRefactoringDescriptor() org.eclipse.ltk.core.refactoring.IRefactoringCoreStatusCodes#MISSING_REFACTORING_HISTORY_VERSION org.eclipse.ltk.core.refactoring.IRefactoringCoreStatusCodes#UNSUPPORTED_REFACTORING_HISTORY_VERSION org.eclipse.ltk.core.refactoring.IRefactoringCoreStatusCodes#REFACTORING_HISTORY_IO_ERROR org.eclipse.ltk.core.refactoring.IRefactoringCoreStatusCodes#REFACTORING_HISTORY_FORMAT_ERROR org.eclipse.ltk.core.refactoring.TextChange#getPreviewContent(org.eclipse.ltk.core.refactoring.TextEditBasedChangeGroup[], org.eclipse.jface.text.IRegion, boolean, int, org.eclipse.core.runtime.IProgressMonitor) org.eclipse.ltk.core.refactoring.participants.CopyArguments#toString() org.eclipse.ltk.core.refactoring.participants.CreateArguments#toString() org.eclipse.ltk.core.refactoring.participants.DeleteArguments#toString() org.eclipse.ltk.core.refactoring.participants.MoveArguments#toString() org.eclipse.ltk.core.refactoring.participants.RenameArguments#toString() org.eclipse.ltk.ui.refactoring.RefactoringUI#createLightWeightStatusDialog(org.eclipse.ltk.core.refactoring.RefactoringStatus, org.eclipse.swt.widgets.Shell, java.lang.String)
org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/TextChange.java
private PreviewAndRegion getPreviewDocument(TextEditBasedChangeGroup[] changes, IProgressMonitor pm) throws CoreException {
		IDocument document= new Document(getCurrentDocument(pm).get());
		boolean trackChanges= getKeepPreviewEdits();
		setKeepPreviewEdits(true);
		TextEditProcessor processor= changes == ALL_EDITS
			? createTextEditProcessor(document, TextEdit.NONE, true)
			: createTextEditProcessor(document, TextEdit.NONE, changes);
		try {
			processor.performEdits();
			return new PreviewAndRegion(document, getNewRegion(changes));
		} catch (BadLocationException e) {
			throw Changes.asCoreException(e);
		} finally {
			setKeepPreviewEdits(trackChanges);
		}
	}
	
	private TextEditProcessor createTextEditProcessor(IDocument document, int flags, boolean preview) {
		if (fEdit == null)
			return new TextEditProcessor(document, new MultiTextEdit(0,0), flags);
		List excludes= new ArrayList(0);
		TextEditBasedChangeGroup[] groups= getChangeGroups();
		for (int index= 0; index < groups.length; index++) {
			TextEditBasedChangeGroup edit= groups[index];
			if (!edit.isEnabled()) {
				excludes.addAll(Arrays.asList(edit.getTextEditGroup().getTextEdits()));
			}
		}
		if (preview) {
			fCopier= new TextEditCopier(fEdit);