@OperationMethod
  public DocumentModelList run() throws OperationException {

    String workingListName = listName;
    if (StringUtils.isEmpty(workingListName)) {
      workingListName = DocumentsListsManager.CURRENT_DOCUMENT_SELECTION;
    }

    List<DocumentModel> res = null;
    if (OperationHelper.isSeamContextAvailable()) {
      res = OperationHelper.getDocumentListManager().getWorkingList(workingListName);
    } else {
      if (OperationHelper.getDocumentListManager()
          .getWorkingListDescriptor(workingListName)
          .getPersistent()) {
        DocumentsListsPersistenceManager pm = new DocumentsListsPersistenceManager();
        res =
            pm.loadPersistentDocumentsLists(
                ctx.getCoreSession(), ctx.getPrincipal().getName(), workingListName);
      } else {
        throw new OperationException(
            String.format(
                "Cannot get selected documents from selection list '%s' because the Seam context is not available and this list is not persisted.",
                workingListName));
      }
    }
    return new DocumentModelListImpl(res);
  }
 @OperationMethod
 public DocumentModel run(DocumentModel doc) {
   if (OperationHelper.isSeamContextAvailable()) {
     OperationHelper.getDocumentListManager().addToWorkingList(DEFAULT_WORKING_LIST, doc);
   } else {
     DocumentsListsPersistenceManager pm = new DocumentsListsPersistenceManager();
     pm.addDocumentToPersistentList(ctx.getPrincipal().getName(), DEFAULT_WORKING_LIST, doc);
   }
   return doc;
 }