if (synchronizeModelElement instanceof ChangeSetDiffNode) {  selectedElements.clear(); ChangeSet set = ((ChangeSetDiffNode)synchronizeModelElement).getSet(); proposedComment = set.getComment(); selectedElements = Arrays.asList(set.getResources()); break; } else { IResource resource = synchronizeModelElement.getResource(); selectedElements.add(resource);
proposedComment = getProposedComment(proposedComment, synchronizeModelElement); if (!(synchronizeModelElement instanceof ChangeSetDiffNode)) { if (url == null && selection.size() == 1) { IResource resource = synchronizeModelElement.getResource(); if (resource != null) { ISVNLocalResource svnResource = SVNWorkspaceRoot.getSVNResourceFor(resource); try { url = svnResource.getStatus().getUrlString(); if ((url == null) || (resource.getType() == IResource.FILE)) url = Util.getParentUrl(svnResource); } catch (SVNException e) { e.printStackTrace(); } } }
	protected SynchronizeModelOperation getSubscriberOperation(ISynchronizePageConfiguration configuration, IDiffElement[] elements) {		List selectedElements = new ArrayList();		IStructuredSelection selection = getStructuredSelection();		Iterator iter = selection.iterator();		String proposedComment = "";		while (iter.hasNext()) {			ISynchronizeModelElement synchronizeModelElement = (ISynchronizeModelElement)iter.next();			if (synchronizeModelElement instanceof ChangeSetDiffNode) {				// If we find a ChangeSet we ignore the rest, even following Change Sets.				selectedElements.clear();				ChangeSet set = ((ChangeSetDiffNode)synchronizeModelElement).getSet();				proposedComment = set.getComment();				selectedElements = Arrays.asList(set.getResources());				break;			} else {				IResource resource = synchronizeModelElement.getResource();				selectedElements.add(resource);			}		}		IResource[] resources = new IResource[selectedElements.size()];		selectedElements.toArray(resources);	    return new CommitSynchronizeOperation(configuration, elements, resources, proposedComment);	}	