code: @Throws(IllegalRangeException.class)
  	public static void range(@Nonnegative final int start, @Nonnegative final int end, @Nonnegative final int size) {
  		final boolean rangeIsValid = (start <= size) && (end <= size) && (start <= end);
  		final boolean inputValuesAreValid = (size >= 0) && (start >= 0) && (end >= 0);
  
  		if (!rangeIsValid || !inputValuesAreValid) {
  			throw new IllegalRangeException(start, end, size);
  		}
  	}
docs: Ensures that the given arguments are a valid range.
  
  A range (<em>start</em>, <em>end</em>, <em>size</em>) is valid if the following conditions are {@code true}:
  <ul>
  <li>start <= size</li>
  <li>end <= size</li>
  <li>start <= end</li>
  <li>size >= 0</li>
  <li>start >= 0</li>
  <li>end >= 0</li>
  </ul>
  
  @param start
  the start value of the range (must be a positive integer or 0)
  @param end
  the end value of the range (must be a positive integer or 0)
  @param size
  the size value of the range (must be a positive integer or 0)
  
  @throws IllegalRangeException
  if the given arguments do not form a valid range