public String getFullGpxId() {
        String gpxId = geocode + prefix;

        if (StringUtils.isNotBlank(geocode)) {
            final Geocache cache = DataStore.loadCache(geocode, LoadFlags.LOAD_CACHE_OR_DB);
            if (cache != null) {
                gpxId = cache.getFullWaypointGpxId(prefix);
            }
        }

        return gpxId;
    }
similar to getGpxId, but includes geocode to be unique across different caches
main/src/main/java/cgeo/geocaching/models/Waypoint.java