docs: public CmsPublishList getPublishList() throws JspException {
  
          CmsPublishList publishList = null;
          if (isDirectPublish()) {
              // get the offline resource(s) in direct publish mode
              List<CmsResource> publishResources = new ArrayList<CmsResource>(getResourceList().size());
              Iterator<String> i = getResourceList().iterator();
              while (i.hasNext()) {
                  String resName = i.next();
                  try {
                      publishResources.add(getCms().readResource(resName, CmsResourceFilter.ALL));
                  } catch (CmsException e) {
                      addMultiOperationException(e);
                  }
              }
              try {
                  boolean publishSubResources = Boolean.valueOf(getParamSubresources()).booleanValue();
                  boolean publishSiblings = Boolean.valueOf(getParamPublishsiblings()).booleanValue();
                  // create publish list for direct publish
                  publishList = OpenCms.getPublishManager().getPublishList(
                      getCms(),
                      publishResources,
                      publishSiblings,
                      publishSubResources);
              } catch (CmsException e) {
                  addMultiOperationException(e);
              }
          } else {
              try {
                  // be careful #getParamProjectid() is always the current project
                  publishList = OpenCms.getPublishManager().getPublishList(getCms());
              } catch (CmsException e) {
                  addMultiOperationException(e);
              }
          }
          try {
              // throw exception for errors unlocking resources
              checkMultiOperationException(Messages.get(), Messages.ERR_PUBLISH_LIST_CREATION_0);
          } catch (Throwable e) {
              publishList = null;
              // error while unlocking resources, show error screen
              includeErrorpage(this, e);
          }
          getSettings().setPublishList(publishList);
          return publishList;
      }