@Nullable
    @WorkerThread
    public static List<GCList> searchBookmarkLists() {
        final Parameters params = new Parameters();
        params.add("skip", "0");
        params.add("take", "100");
        params.add("type", "bm");

        final String page = GCLogin.getInstance().getRequestLogged("https://www.geocaching.com/api/proxy/web/v1/lists", params);
        if (StringUtils.isBlank(page)) {
            Log.e("GCParser.searchBookmarkLists: No data from server");
            return null;
        }

        try {
            final JsonNode json = JsonUtils.reader.readTree(page).get("data");
            final List<GCList> list = new ArrayList<>();

            for (Iterator<JsonNode> it = json.elements(); it.hasNext(); ) {
                final JsonNode row = it.next();

                final String name = row.get("name").asText();
                final String guid = row.get("referenceCode").asText();
                final int count = row.get("count").asInt();
                Date date;
                final String lastUpdateUtc = row.get("lastUpdateUtc").asText();
                try {
                    date = DATE_JSON.parse(lastUpdateUtc);
                } catch (ParseException e) {
                    // if parsing with fractions of seconds failed, try short form
                    date = DATE_JSON_SHORT.parse(lastUpdateUtc);
                    Log.d("parsing bookmark list: fallback needed for '" + lastUpdateUtc + "'");
                }

                final GCList pocketQuery = new GCList(guid, name, count, true, date.getTime(), -1, true, null, null);
                list.add(pocketQuery);
            }

            return list;
        } catch (final Exception e) {
            Log.e("GCParser.searchBookmarkLists: error parsing html page", e);
            return null;
        }
    }
Fetches a list of bookmark lists. Shouldn't be called on main thread!

@return A non-null list (which might be empty) on success. Null on error.
main/src/main/java/cgeo/geocaching/connector/gc/GCParser.java