public String getCacheId() {
        // For some connectors ID can be calculated out of geocode
        if (StringUtils.isBlank(cacheId)) {
            if (getConnector() instanceof GCConnector) {
                return String.valueOf(GCUtils.gcLikeCodeToGcLikeId(geocode));
            }
            if (getConnector() instanceof SuConnector) {
                return SuConnector.geocodeToId(geocode);
            }
        }

        return cacheId;
    }
Attention, calling this method may trigger a database access for the cache!
main/src/main/java/cgeo/geocaching/models/Geocache.java