if (this.isCollection()) {
dest.makeCollection();
if (!recursive)
return;
DAVMultiStatus multistatus = new DAVMultiStatus();
Iterator children = this.getChildren();
while (children.hasNext())
try {
FileObjectVFSResource childResource = (FileObjectVFSResource) children.next();
try {
FileObject child = ((FileObjectVFSResource) dest).getFile().resolveFile(childResource.getFile()
.getName()
.getBaseName());
FileObjectVFSResource target = new FileObjectVFSResource(getLaunchSession(),
this.getMount(),
this, /* transaction, */
this.getMount().getMountString(),
repository,
requestCredentials);
childResource.copy(target, overwrite, recursive);
} catch (IOException e) {
throw new DAVException(403, "Could not resolve child.", e);
}
} catch (DAVException exception) {
multistatus.merge(exception);
}
if (multistatus.size() > 0)
throw multistatus;
}
}