code: @ArgumentsChecked
  	@Throws({ IllegalNullArgumentException.class, IllegalNotContainedArgumentException.class })
  	public static <T extends Object> T contains(@Nonnull final Collection<T> haystack, @Nonnull final T needle) {
  		Check.notNull(haystack, "haystack");
  		Check.notNull(needle, "needle");
  
  		if (!haystack.contains(needle)) {
  			throw new IllegalNotContainedArgumentException(needle);
  		}
  
  		return needle;
  	}
docs: Ensures that an element {@code needle} is contained in a collection {@code haystack}.
  
  <p>
  This is in particular useful if you want to check whether an enum value is contained in an {@code EnumSet}. The
  check is implemented using {@link java.util.Collection#contains(Object)}.
  
  <p>
  We recommend to use the overloaded method {@link Check#contains(Collection, Object, String)} and pass as second
  argument the name of the parameter to enhance the exception message.
  
  @param haystack
  A collection which must contain {@code needle}
  @param needle
  An object that must be contained into a collection.
  @return the passed argument {@code needle}
  
  @throws IllegalNotContainedArgumentException
  if the passed {@code needle} can not be found in {@code haystack}