/**
   * Queries for <tt>CapitalMarketsOrder</tt> with the provided <tt>scope</tt> and other params.
   *
   * <p>Note: the scopes were defined from the Designer.
   *
   * @param scope the scope to perform the query.
   * @param params a map of parameters.
   * @param offset offset for the query, or <tt>null</tt> for no offset.
   * @param limit max results to return back, <tt>null</tt> for no limit.
   * @throws RemoteRequestException If there are other issues with the request.
   */
  public static List<CapitalMarketsOrder> query(
      String scope, Map<String, String> params, Integer offset, Integer limit)
      throws RemoteRequestException {
    RemoteRequest.RemoteRequestBuilder remoteRequestBuilder =
        RemoteRailsConfig.getRouterAdapterByClassOrUseDefaultAdapter(CapitalMarketsOrder.class)
            .createRemoteRequestBuilder(scope, RequestMethod.GET, CapitalMarketsOrder.class);
    remoteRequestBuilder.query(scope);
    if (params != null) {
      remoteRequestBuilder.addToParameters(params);
      remoteRequestBuilder.context(params);
    }
    if (offset != null) {
      remoteRequestBuilder.addToParameters("offset", offset.toString());
    }

    if (limit != null) {
      remoteRequestBuilder.addToParameters("limit", limit.toString());
    }
    RemoteRequest remoteRequest = remoteRequestBuilder.createRemoteRequest();

    return com.anypresence.sdk.APObject.query(
        remoteRequest, offset, limit, CapitalMarketsOrder.class);
  }