static boolean requiresUnicodeUnescape(final char[] text, final int offset, final int len) {

        if (text == null) {
            return false;
        }

        final int max = (offset + len);

        for (int i = offset; i < max; i++) {

            final char c = text[i];

            if (c != ESCAPE_PREFIX || (i + 1) >= max) {
                continue;
            }

            if (c == ESCAPE_PREFIX) {

                final char c1 = text[i + 1];

                if (c1 == ESCAPE_UHEXA_PREFIX2) {
                    // This can be a uhexa escape
                    return true;
                }

            }

        }

        return false;

    }
static boolean requiresUnicodeUnescape ( final char [ ] text , final int offset , final int len ) { if ( text == null ) { return false ; } final int max = ( offset + len ) ; for ( int i = offset ; i < max ; i ++ ) { final char c = text [ i ] ; if ( c != ESCAPE_PREFIX || ( i + 1 ) >= max ) { continue ; } if ( c == ESCAPE_PREFIX ) { final char c1 = text [ i + 1 ] ; if ( c1 == ESCAPE_UHEXA_PREFIX2 ) { return true ; } } } return false ; }
/*
Determine whether we will need unicode unescape or not, so that we avoid creating a writer object
if it is not needed.