docs: public User getInfo(String userId) throws FlickrException {
          Map<String, Object> parameters = new HashMap<String, Object>();
          parameters.put("method", METHOD_GET_INFO);
  
          parameters.put("user_id", userId);
  
          Response response = transportAPI.get(transportAPI.getPath(), parameters, apiKey, sharedSecret);
          if (response.isError()) {
              throw new FlickrException(response.getErrorCode(), response.getErrorMessage());
          }
          Element userElement = response.getPayload();
          User user = new User();
          user.setId(userElement.getAttribute("nsid"));
          user.setAdmin("1".equals(userElement.getAttribute("isadmin")));
          user.setPro("1".equals(userElement.getAttribute("ispro")));
          user.setIconFarm(userElement.getAttribute("iconfarm"));
          user.setIconServer(userElement.getAttribute("iconserver"));
          user.setRevContact("1".equals(userElement.getAttribute("revcontact")));
          user.setRevFriend("1".equals(userElement.getAttribute("revfriend")));
          user.setRevFamily("1".equals(userElement.getAttribute("revfamily")));
          String lPathAlias = userElement.getAttribute("path_alias");
          user.setPathAlias(lPathAlias == null || "".equals(lPathAlias) ? null : lPathAlias);
          user.setUsername(XMLUtilities.getChildValue(userElement, "username"));
          user.setDescription(XMLUtilities.getChildValue(userElement, "description"));
          user.setGender(XMLUtilities.getChildValue(userElement, "gender"));
          user.setIgnored("1".equals(XMLUtilities.getChildValue(userElement, "ignored")));
          user.setContact("1".equals(XMLUtilities.getChildValue(userElement, "contact")));
          user.setFriend("1".equals(XMLUtilities.getChildValue(userElement, "friend")));
          user.setFamily("1".equals(XMLUtilities.getChildValue(userElement, "family")));
          user.setRealName(XMLUtilities.getChildValue(userElement, "realname"));
          user.setLocation(XMLUtilities.getChildValue(userElement, "location"));
          user.setMbox_sha1sum(XMLUtilities.getChildValue(userElement, "mbox_sha1sum"));
          user.setPhotosurl(XMLUtilities.getChildValue(userElement, "photosurl"));
          user.setProfileurl(XMLUtilities.getChildValue(userElement, "profileurl"));
          user.setMobileurl(XMLUtilities.getChildValue(userElement, "mobileurl"));
  
          Element photosElement = XMLUtilities.getChild(userElement, "photos");
          user.setPhotosFirstDate(XMLUtilities.getChildValue(photosElement, "firstdate"));
          user.setPhotosFirstDateTaken(XMLUtilities.getChildValue(photosElement, "firstdatetaken"));
          user.setPhotosCount(XMLUtilities.getChildValue(photosElement, "count"));
  
          NodeList tzNodes = userElement.getElementsByTagName("timezone");
          for (int i = 0; i < tzNodes.getLength(); i++) {
              Element tzElement = (Element) tzNodes.item(i);
              TimeZone tz = new TimeZone();
              user.setTimeZone(tz);
              tz.setLabel(tzElement.getAttribute("label"));
              tz.setTimeZoneId(tzElement.getAttribute("timezone_id"));
              tz.setOffset(tzElement.getAttribute("offset"));
          }
  
          return user;
      }