@SuppressWarnings("RedundantStringConstructorCall")
    @Nullable
    @SuppressFBWarnings("DM_STRING_CTOR")
    private static String newString(final String input) {
        if (input == null) {
            return null;
        }
        return new String(input); // DON'T REMOVE THE "new String" HERE!
    }
This method explicitly creates a new String instance from an already existing String. This is necessary to avoid
huge memory leaks in our parser. If we do regular expression matching on large Strings, the returned matches are
otherwise memory mapped substrings of the huge original String, therefore blocking the garbage collector from
removing the huge input String.
<p>
Do not change this method, even if Findbugs and other tools will report a violation for that line!
main/src/main/java/cgeo/geocaching/utils/MatcherWrapper.java