docs: public void deleteProject(CmsRequestContext context, CmsUUID projectId)
      throws CmsException, CmsRoleViolationException {
  
          if (projectId.equals(CmsProject.ONLINE_PROJECT_ID)) {
              // online project must not be deleted
              throw new CmsVfsException(
                  org.opencms.file.Messages.get().container(
                      org.opencms.file.Messages.ERR_NOT_ALLOWED_IN_ONLINE_PROJECT_0));
          }
  
          CmsDbContext dbc = m_dbContextFactory.getDbContext(context);
          CmsProject deleteProject = null;
          try {
              // read the project that should be deleted
              deleteProject = m_driverManager.readProject(dbc, projectId);
              checkManagerOfProjectRole(dbc, deleteProject);
              m_driverManager.deleteProject(dbc, deleteProject);
          } catch (Exception e) {
              String projectName = (deleteProject == null ? String.valueOf(projectId) : deleteProject.getName());
              dbc.report(null, Messages.get().container(Messages.ERR_DELETE_PROJECT_1, projectName), e);
          } finally {
              dbc.clear();
          }
      }