code: public CmsProject readProject(String name) throws CmsException {
  
          CmsDbContext dbc = m_dbContextFactory.getDbContext();
          CmsProject result = null;
          try {
              result = m_driverManager.readProject(dbc, CmsOrganizationalUnit.removeLeadingSeparator(name));
          } catch (Exception e) {
              dbc.report(null, Messages.get().container(Messages.ERR_READ_PROJECT_FOR_NAME_1, name), e);
          } finally {
              dbc.clear();
          }
          return result;
      }
docs: Reads a project.<p>
  
  Important: Since a project name can be used multiple times, this is NOT the most efficient
  way to read the project. This is only a convenience for front end developing.
  Reading a project by name will return the first project with that name.
  All core classes must use the id version {@link #readProject(CmsUUID)} to ensure the right project is read.<p>
  
  @param name the name of the project
  
  @return the project read
  
  @throws CmsException if something goes wrong