private void findGeoCode(final String input, final Boolean useUnknownConnector) {
        if (input == null || StringUtils.isNotBlank(cache.getGeocode())) {
            return;
        }
        final String trimmed = input.trim();
        final MatcherWrapper matcherGeocode = new MatcherWrapper(PATTERN_GEOCODE, trimmed);
        if (matcherGeocode.find()) {
            final String geocode = matcherGeocode.group();
            // a geocode should not be part of a word
            if (geocode.length() == trimmed.length() || Character.isWhitespace(trimmed.charAt(geocode.length()))) {
                final IConnector foundConnector = ConnectorFactory.getConnector(geocode);
                if (!foundConnector.equals(ConnectorFactory.UNKNOWN_CONNECTOR)) {
                    cache.setGeocode(geocode);
                } else if (useUnknownConnector) {
                    cache.setGeocode(trimmed);
                }
            }
        }
    }
GPX 1.0 and 1.1 use different XML elements to put the cache into, therefore needs to be overwritten in the
version specific subclasses
main/src/main/java/cgeo/geocaching/files/GPXParser.java