code: private void mirror() {
          if ((reorderingOptions & Bidi.DO_MIRRORING) == 0) {
              return;
          }
          StringBuffer sb = new StringBuffer(text);
          byte[] levels = bidi.getLevels();
          for (int i = 0, n = levels.length; i < n;) {
              int ch = UTF16.charAt(sb, i);
              if ((levels[i] & 1) != 0) {
                  UTF16.setCharAt(sb, i, UCharacter.getMirror(ch));
              }
              i += UTF16.getCharCount(ch);
          }
          text = sb.toString();
          reorderingOptions &= ~Bidi.DO_MIRRORING;
      }
docs: Performs character mirroring without reordering. When this method is
  called, <code>{@link #text}</code> should be in a Logical form.