EventListener el = new EListener(mergeInfo.getPropertyNameSet(), ms);
registerEventListener(el, node.getPath());
// todo: RFC allows multiple href elements inside the DAV:source element
String workspaceName = getLocatorFromHref(mergeInfo.getSourceHrefs()[0]).getWorkspaceName();
NodeIterator failed = node.merge(workspaceName, !mergeInfo.isNoAutoMerge());
// unregister the event listener again
unregisterEventListener(el);
// add resources to the multistatus, that failed to be merged
while (failed.hasNext()) {
Node failedNode = failed.nextNode();
DavResourceLocator loc = getLocatorFromItem(failedNode);
DavResource res = createResourceFromLocator(loc);
ms.addResponse(new MultiStatusResponse(res, mergeInfo.getPropertyNameSet()));
}