public char escape(final char c) {
      switch (c) {
        case '\n': return 'n';
        case '\r': return 'r';
        case '\b': return 'b';
        case '\u0085': return 'x'; // next-line character
        case '\u2028': return 'l'; // line-separator character
        case '\u2029': return 'p'; // paragraph-separator character
        case '|': return '|';
        case '\'': return '\'';
        case '[': return '[';
        case ']': return ']';
        default:return 0;
      }
    }
public char escape(final char c)