code: private List<LoadBalancer> findLoadBalancers(@Nullable String loadBalancerId) throws CloudException, InternalException {
          APITrace.begin(getProvider(), "LB.listLoadBalancers");
          try {
              // get all vips, optionally filtered by lbId
              List<JSONObject> listeners = findAllVips(loadBalancerId);
  
              // get all members, optionally filtered by lbId
              List<JSONObject> members = findAllMembers(loadBalancerId);
  
              NovaMethod method = new NovaMethod(getProvider());
              // Unlike Horizon the OS LB API returns all tenants' load balancers, so we must filter
              JSONObject result = method.getNetworks(getLoadBalancersResource(), loadBalancerId, false, "?tenant_id="+getContext().getAccountNumber());
              List<LoadBalancer> results = new ArrayList<LoadBalancer>();
              if( loadBalancerId == null && result != null && result.has("pools") ) {
                  try {
                      JSONArray loadbalancers = result.getJSONArray("pools");
                      for( int i = 0; i < loadbalancers.length(); i++ ) {
                          JSONObject lb = loadbalancers.getJSONObject(i);
                          results.add(toLoadBalancer(lb, listeners, members));
                      }
                  }
                  catch( JSONException e ) {
                      logger.error("Unable to understand listPools response: " + e.getMessage());
                      throw new CloudException(e);
                  }
              }
              else if( result != null && result.has("pool")) {
                  try {
                      return Collections.singletonList(toLoadBalancer(result.getJSONObject("pool"), listeners, members));
                  }
                  catch( JSONException e ) {
                      logger.error("Unable to understand getPool response: " + e.getMessage());
                      throw new CloudException(e);
                  }
              }
  
              return results;
          }
          finally {
              APITrace.end();
          }
      }
docs: Find all or a single load balancer
  @param loadBalancerId optional load balancer id if looking for just one
  @return
  @throws CloudException
  @throws InternalException