code: public Collection<ApplicationDefinition> getAllAppDefs() {
          Utils.require(!m_restClient.isClosed(), "Client has been closed");
  
          try {
              // Send a GET request to "/_applications" to list all applications.
          	StringBuilder uri = new StringBuilder(Utils.isEmpty(m_apiPrefix) ? "" : "/" + m_apiPrefix);          			
              uri.append("/_applications/");
              
              RESTResponse response = m_restClient.sendRequest(HttpMethod.GET, uri.toString());
              m_logger.debug("listAllApplications() response: {}", response.toString());
              throwIfErrorResponse(response);
              
              UNode rootNode = UNode.parse(response.getBody(), response.getContentType());
              List<ApplicationDefinition> appDefList = new ArrayList<ApplicationDefinition>();
              for (UNode appNode : rootNode.getMemberList()) {
                  ApplicationDefinition appDef = new ApplicationDefinition();
                  appDef.parse(appNode);
                  appDefList.add(appDef);
              }
              return appDefList;
          } catch (Exception e) {
              throw new RuntimeException(e);
          }
      }
docs: Get the {@link ApplicationDefinition} for all applications defined in the tenant
  identified by this client's credentials.
  
  @return  A collection of all applications defined in the database, possible empty.