code: public Predicates getPredicates(String namespace, int perPage, int page, boolean sign) throws JinxException {
      Map<String, String> params = new TreeMap<>();
      params.put("method", "flickr.machinetags.getPredicates");
      if (!JinxUtils.isNullOrEmpty(namespace)) {
        params.put("namespace", namespace);
      }
      if (perPage > 0) {
        params.put("per_page", Integer.toString(perPage));
      }
      if (page > 0) {
        params.put("page", Integer.toString(page));
      }
      return jinx.flickrGet(params, Predicates.class, sign);
    }
docs: Return a list of unique predicates, optionally limited by a given namespace.
  <br>
  This method does not require authentication.
  namespace (Optional)
  <br>
  per_page (Optional)
  Number of photos to return per page. If this argument is omitted, it defaults to 100. The maximum allowed value is 500.
  page (Optional)
  The page of results to return. If this argument is omitted, it defaults to 1.
  
  @param namespace (Optional) Limit the list of predicates returned to those that have this namespace.
  @param perPage   Number of photos to return per page. If this argument is less than 1, it defaults to 100. The maximum allowed value is 500.
  @param page      The page of results to return. If this argument is less than 1, it defaults to 1.
  @param sign      if true, the request will be signed.
  @return object containing a list of unique predicates.
  @throws JinxException if there are any errors.
  @see <a href="https://www.flickr.com/services/api/flickr.machinetags.getPredicates.html">flickr.machinetags.getPredicates</a>