Bug 126535 Direction mode issues with model based merging
I20060131-1200 The direction mode of the Synchronize Dialog/View currently does not work as the Team -> Synchronize modes do. Incoming mode and conflict mode show outgoing changes as well
org.eclipse.ltk.ui.refactoring/src/org/eclipse/ltk/ui/refactoring/model/AbstractSynchronizationContentProvider.java
*/
	protected RefactoringHistory getRefactorings(final ISynchronizationContext context, final IProject project, IProgressMonitor monitor) {
		Assert.isNotNull(context);
		Assert.isNotNull(project);
		if (monitor == null)
			monitor= new NullProgressMonitor();
		try {
			monitor.beginTask(RefactoringUIMessages.RefactoringModelMerger_retrieving_refactorings, 12);
			final IProgressMonitor finalMonitor= monitor;
			final Set remote= new HashSet();
			final Set local= new HashSet();
			try {
				final IResourceDiffTree tree= context.getDiffTree();
				tree.accept(project.getFolder(RefactoringHistoryService.NAME_HISTORY_FOLDER).getFullPath(), new IDiffVisitor() {
					public final boolean visit(final IDiff diff) {
						if (diff instanceof IThreeWayDiff) {
							final IThreeWayDiff threeWay= (IThreeWayDiff) diff;
							final IResource resource= tree.getResource(diff);
							if (resource.getName().equals(RefactoringHistoryService.NAME_HISTORY_FILE) && resource.getType() == IResource.FILE) {
								final ITwoWayDiff remoteDiff= threeWay.getRemoteChange();
								if (remoteDiff instanceof IResourceDiff && remoteDiff.getKind() != IDiff.NO_CHANGE) {
									final IFileRevision afterRevision= ((IResourceDiff) remoteDiff).getAfterState();
									if (afterRevision != null)
										getRefactorings(afterRevision, remote, IThreeWayDiff.INCOMING, finalMonitor);
									final IFileRevision beforeRevision= ((IResourceDiff) remoteDiff).getBeforeState();
									if (beforeRevision != null)
										getRefactorings(beforeRevision, remote, IThreeWayDiff.INCOMING, finalMonitor);
								}
								final ITwoWayDiff localDiff= threeWay.getLocalChange();
								if (localDiff instanceof IResourceDiff && localDiff.getKind() != IDiff.NO_CHANGE) {