docs: public NamespacesList<Value> getValues(String namespace, String predicate, int perPage, int page) throws FlickrException {
          Map<String, Object> parameters = new HashMap<String, Object>();
          NamespacesList<Value> valuesList = new NamespacesList<Value>();
          parameters.put("method", METHOD_GET_VALUES);
  
          if (namespace != null) {
              parameters.put("namespace", namespace);
          }
          if (predicate != null) {
              parameters.put("predicate", predicate);
          }
          if (perPage > 0) {
              parameters.put("per_page", "" + perPage);
          }
          if (page > 0) {
              parameters.put("page", "" + page);
          }
  
          Response response = transportAPI.get(transportAPI.getPath(), parameters, apiKey, sharedSecret);
          if (response.isError()) {
              throw new FlickrException(response.getErrorCode(), response.getErrorMessage());
          }
          Element nsElement = response.getPayload();
          NodeList nsNodes = nsElement.getElementsByTagName("value");
          valuesList.setPage(nsElement.getAttribute("page"));
          valuesList.setPages(nsElement.getAttribute("pages"));
          valuesList.setPerPage(nsElement.getAttribute("perPage"));
          valuesList.setTotal("" + nsNodes.getLength());
          for (int i = 0; i < nsNodes.getLength(); i++) {
              Element element = (Element) nsNodes.item(i);
              Value value = parseValue(element);
              value.setNamespace(namespace);
              value.setPredicate(predicate);
              valuesList.add(value);
          }
          return valuesList;
      }