code: public Project projectByName(String name) throws SDKException {
          IAssetType projectAssetType = instance.getMetaModel().getAssetType(
                  "Scope");
          IAttributeDefinition nameDef = projectAssetType
                  .getAttributeDefinition("Name");
          Query query = new Query(projectAssetType);
          FilterTerm nameTerm = new FilterTerm(nameDef);
  
          nameTerm.equal(name);
          query.setFilter(nameTerm);
          query.getOrderBy().majorSort(nameDef, OrderBy.Order.Ascending);
  
          QueryResult result;
          try {
              result = instance.getServices().retrieve(query);
          } catch (V1Exception e) {
              throw new SDKException(e);
          }
  
          if (result.getAssets().length == 0) {
              return null;
          }
          Asset asset = result.getAssets()[0];
          return new Project(new AssetID(asset.getOid().getToken()), instance);
      }
docs: Retrieves the first project with the given name or null.
  
  @param name name of the project to retrieve.
  @return the first instance of a Project that matches name or null.
  @throws SDKException if there is a problem executing the query