protected void doExecute() throws Exception {
super.doExecute();
// create new document
DocumentManager documentManager = null;
DocumentTypeBuilder documentTypeBuilder = null;
try {
documentTypeBuilder = (DocumentTypeBuilder) this.manager
.lookup(DocumentTypeBuilder.ROLE);
documentManager = (DocumentManager) this.manager.lookup(DocumentManager.ROLE);
DocumentIdentityMap map = (DocumentIdentityMap) getUnitOfWork().getIdentityMap();
Document document = map.get(getPublication(),
getArea(),
getNewDocumentId(),
getParameterAsString(LANGUAGE));
Document initialDocument = getInitialDocument();
if (initialDocument == null) {
DocumentType documentType = documentTypeBuilder
.buildDocumentType(getDocumentTypeName(), getPublication());
documentManager.add(document,
documentType,
getParameterAsString(DublinCore.ELEMENT_TITLE),
null);