code: public static int charAt(CharSequence source, int offset16) {
          char single = source.charAt(offset16);
          if (single < UTF16.LEAD_SURROGATE_MIN_VALUE) {
              return single;
          }
          return _charAt(source, offset16, single);
      }
docs: Extract a single UTF-32 value from a string. Used when iterating forwards or backwards (with
  <code>UTF16.getCharCount()</code>, as well as random access. If a validity check is
  required, use <code><a href="../lang/UCharacter.html#isLegal(char)">
  UCharacter.isLegal()</a></code>
  on the return value. If the char retrieved is part of a surrogate pair, its supplementary
  character will be returned. If a complete supplementary character is not found the incomplete
  character will be returned
  
  @param source Array of UTF-16 chars
  @param offset16 UTF-16 offset to the start of the character.
  @return UTF-32 value for the UTF-32 value that contains the char at offset16. The boundaries
  of that codepoint are the same as in <code>bounds32()</code>.
  @exception IndexOutOfBoundsException Thrown if offset16 is out of bounds.