@throws illegalargumentexception if {@code size} is negative
@return the value of {@code index}
@param size the size of that array, list or string
@param desc the text to use to describe this index in an error message
file : https_github_com_google_guava_git/guava/src/com/google/common/base/Preconditions.java