public Iterator merge(SessionInfo sessionInfo, NodeId nodeId, String srcWorkspaceName, boolean bestEffort, boolean isShallow) throws NoSuchWorkspaceException, AccessDeniedException, MergeException, LockException, InvalidItemStateException, RepositoryException {
if (!isShallow) {
try {
String wspHref = uriResolver.getWorkspaceUri(srcWorkspaceName);
Element mElem = MergeInfo.createMergeElement(new String[] {wspHref}, bestEffort, false, domFactory);
MergeInfo mInfo = new MergeInfo(mElem);
MergeMethod method = new MergeMethod(getItemUri(nodeId, sessionInfo), mInfo);
execute(method, sessionInfo);
MultiStatusResponse[] resps = method.getResponseBodyAsMultiStatus().getResponses();