code: private static void appendCodePoint(Appendable app, int c) {
          assert 0 <= c && c <= 0x10ffff;
          try {
              if (c <= 0xffff) {
                  app.append((char) c);
              } else {
                  app.append(UTF16.getLeadSurrogate(c)).append(UTF16.getTrailSurrogate(c));
              }
          } catch (IOException e) {
              throw new ICUUncheckedIOException(e);
          }
      }
docs: TODO: create Appendable version of UTF16.append(buf, c),
  maybe in new class Appendables?
  @throws IOException