code: public static int checkElementIndex(int index, int size, final String eid) {
          if (isSizeIllegal(size)) {
              throw new EidIllegalArgumentException(ensureEid(eid));
          }
          if (isIndexAndSizeIllegal(index, size)) {
              throw new EidIndexOutOfBoundsException(ensureEid(eid));
          }
          return index;
      }
docs: Ensures that {@code index} specifies a valid <i>element</i> in an array,
  list or string of size {@code size}. An element index may range from
  zero, inclusive, to {@code size}, exclusive.
  <p>
  Please, note that for performance reasons, Eid is not evaluated until
  it's needed. If you are using {@code Validator},
  please use {@link #checkElementIndex(int, int, Eid)} instead.
  
  @param index a user-supplied index identifying an element of an array,
  list or string
  @param size  the size of that array, list or string
  @param eid   the text to use to describe this index in an error message
  @return the value of {@code index}
  @throws EidIndexOutOfBoundsException if {@code index} is negative or is
  not less than {@code size}
  @throws EidIllegalArgumentException  if {@code size} is negative