@Override
    public boolean translate(final int codepoint, final Writer out) throws IOException {
        if (between) {
            if (codepoint < below || codepoint > above) {
                return false;
            }
        } else {
            if (codepoint >= below && codepoint <= above) {
                return false;
            }
        }

        // TODO: Handle potential + sign per various Unicode escape implementations
        if (codepoint > 0xffff) {
            out.write(toUtf16Escape(codepoint));
        } else {
          out.write("\\u");
          out.write(HEX_DIGITS[(codepoint >> 12) & 15]);
          out.write(HEX_DIGITS[(codepoint >> 8) & 15]);
          out.write(HEX_DIGITS[(codepoint >> 4) & 15]);
          out.write(HEX_DIGITS[(codepoint) & 15]);
        }
        return true;
    }
@ Override public boolean translate ( final int codepoint , final Writer out ) throws IOException { if ( between ) { if ( codepoint < below || codepoint > above ) { return false ; } } else { if ( codepoint >= below && codepoint <= above ) { return false ; } } if ( codepoint > 0xffff ) { out . write ( toUtf16Escape ( codepoint ) ) ; } else { out . write ( "\\u" ) ; out . write ( HEX_DIGITS [ ( codepoint > > 12 ) & 15 ] ) ; out . write ( HEX_DIGITS [ ( codepoint > > 8 ) & 15 ] ) ; out . write ( HEX_DIGITS [ ( codepoint > > 4 ) & 15 ] ) ; out . write ( HEX_DIGITS [ ( codepoint ) & 15 ] ) ; } return true ; }
{@inheritDoc}