selector = (ServiceSelector) this.manager.lookup(ResourceType.ROLE + "Selector");
resourceType = (ResourceType) selector.select(resourceTypeName);
docManager = (DocumentManager) this.manager.lookup(DocumentManager.ROLE);
Document newDoc;
SiteStructure site = area.getSite();
if (!site.contains(path) || site.getNode(path).getLanguages().length == 0) {
newDoc = docManager.add(area.getPublication().getFactory(), resourceType,
contentUri, area.getPublication(), area.getName(), path, language, "xml",
navigationTitle, visibleInNav);
newDoc.setMimeType(mimeType);
} else {
SiteNode node = site.getNode(path);
Document doc = node.getLink(node.getLanguages()[0]).getDocument();
newDoc = docManager.addVersion(doc, area.getName(), language, true);
resolver = (SourceResolver) this.manager.lookup(SourceResolver.ROLE);
SourceUtil.copy(resolver, contentUri, newDoc.getOutputStream());
newDoc.getLink().setLabel(navigationTitle);