private static int fallbackToGeocode(final Geocache cache1, final Geocache cache2) {
        final int comparePrefix = StringUtils.compareIgnoreCase(StringUtils.substring(cache1.getGeocode(), 0, 2), StringUtils.substring(cache2.getGeocode(), 0, 2));
        if (comparePrefix == 0) {
            final long l1 = GCUtils.gcLikeCodeToGcLikeId(cache1.getGeocode());
            final long l2 = GCUtils.gcLikeCodeToGcLikeId(cache2.getGeocode());
            if (l1 != l2) {
                return l1 > l2 ? 1 : -1;
            }
        }
        return comparePrefix;
    }
abstract super implementation for all cache comparators
main/src/main/java/cgeo/geocaching/sorting/AbstractCacheComparator.java