code: public static int codePointAt(char[] a, int index, int limit) {
          if (index >= limit || limit < 0 || limit > a.length) {
              throw new IndexOutOfBoundsException();
          }
          return codePointAtImpl(a, index, limit);
      }
docs: Returns the code point at the given index of the
  {@code char} array, where only array elements with
  {@code index} less than {@code limit} can be used. If
  the {@code char} value at the given index in the
  {@code char} array is in the high-surrogate range, the
  following index is less than the {@code limit}, and the
  {@code char} value at the following index is in the
  low-surrogate range, then the supplementary code point
  corresponding to this surrogate pair is returned. Otherwise,
  the {@code char} value at the given index is returned.
  
  @param a the {@code char} array
  @param index the index to the {@code char} values (Unicode
  code units) in the {@code char} array to be converted
  @param limit the index after the last array element that
  can be used in the {@code char} array
  @return the Unicode code point at the given index
  @exception NullPointerException if {@code a} is null.
  @exception IndexOutOfBoundsException if the {@code index}
  argument is negative or not less than the {@code limit}
  argument, or if the {@code limit} argument is negative or
  greater than the length of the {@code char} array.
  @since  1.5