@OperationMethod public Blob run(DocumentModel targetDocument) throws Exception { TemplateBasedDocument renderable = targetDocument.getAdapter(TemplateBasedDocument.class); if (renderable != null) { if (store) { return renderable.renderAndStoreAsAttachment(templateName, save); } else { return renderable.renderWithTemplate(templateName); } } else { BlobHolder bh = targetDocument.getAdapter(BlobHolder.class); if (bh != null) { return bh.getBlob(); } else { return null; } } }