throws NoSuchWorkspaceException, AccessDeniedException, MergeException, LockException, InvalidItemStateException, RepositoryException {
final SessionInfoImpl sInfo = getSessionInfoImpl(sessionInfo);
return (Iterator<NodeId>) executeWithLocalEvents(new Callable() {
public Object run() throws RepositoryException {
String nodePath = getNodePath(nodeId, sInfo);
NodeIterator it = getVersionManager(sInfo).merge(nodePath, srcWorkspaceName, bestEffort, isShallow);
List<NodeId> ids = new ArrayList<NodeId>();
while (it.hasNext()) {
ids.add(idFactory.createNodeId(it.nextNode()
));
}
return ids.iterator();
}
}, sInfo);