private static boolean startsWithAnyLower(final String text, final String... compare) {
        final String textLower = text.toLowerCase(Locale.getDefault());
        for (String s : compare) {
            if (textLower.startsWith(s.toLowerCase(Locale.getDefault()))) {
                return true;
            }
        }
        return false;
    }
similar to getGpxId, but includes geocode to be unique across different caches
main/src/main/java/cgeo/geocaching/models/Waypoint.java