public boolean translate(final int codepoint, final Writer out) throws IOException {
   if (this.between) {
     if (codepoint < this.below || codepoint > this.above) {
       return false;
     }
   } else if (codepoint >= this.below && codepoint <= this.above) {
     return false;
   }
   if (codepoint > 65535) {
     out.write("\\u" + CharSequenceTranslator.hex(codepoint));
   } else if (codepoint > 4095) {
     out.write("\\u" + CharSequenceTranslator.hex(codepoint));
   } else if (codepoint > 255) {
     out.write("\\u0" + CharSequenceTranslator.hex(codepoint));
   } else if (codepoint > 15) {
     out.write("\\u00" + CharSequenceTranslator.hex(codepoint));
   } else {
     out.write("\\u000" + CharSequenceTranslator.hex(codepoint));
   }
   return true;
 }