private static void parseCoreCache(final ObjectNode data, @NonNull final Geocache cache) {
        cache.setCacheId(data.get(CACHE_ID).asText());
        cache.setName(data.get(CACHE_NAME).asText());

        cache.setType(parseType(data.get(CACHE_TYPE).asInt()));
        cache.setGeocode(data.get(CACHE_CODE).asText());
        cache.setHidden(parseDate(data.get(CACHE_HIDDEN).asText()));

        final double latitude = data.get(CACHE_LAT).asDouble();
        final double longitude = data.get(CACHE_LON).asDouble();
        cache.setCoords(new Geopoint(latitude, longitude));

        cache.setDisabled(isDisabledStatus(data.get(CACHE_DISABLED_STATUS).asText()));
        cache.setArchived(isArchivedStatus(data.get(CACHE_STATUS).asText()));

        final JsonNode author = data.get(CACHE_AUTHOR);
        cache.setOwnerDisplayName(parseUser(author));
        cache.setOwnerUserId(author.get(CACHE_AUTHOR_ID).asText());

        cache.setSize(parseSize(data.get(CACHE_SIZE).asText()));

        cache.setDifficulty((float) data.get(CACHE_DIFFICULTY).asDouble());
        cache.setTerrain((float) data.get(CACHE_TERRAIN).asDouble());

        if (data.has(CACHE_IS_FOUND)) {
            cache.setFound(data.get(CACHE_IS_FOUND).asBoolean());

            if (cache.isFound()) {
                cache.setVisitedDate(parseDate(data.get(CACHE_FOUND_ON).asText()).getTime());
            }
        }
    }
Parses cache received by map query request. So the response contains only "core" data
(i.e. without logs, waypoints etc.)

@param response JSON response from API
@return parsed {@link Geocache}
main/src/main/java/cgeo/geocaching/connector/su/SuParser.java