class ListCondition extends BasicCondition<T, ListCondition<T, E>> implements ListChecks<T, E, ListCondition<T, E>> {

	@Override
	public ListCondition<T, E> hasSizeBetween(int startInclusive, int endInclusive)
	{
		require(this.subject).isNotNull();

		int listSize = this.subject.size();
		if (!((listSize >= startInclusive && listSize <= endInclusive) || (listSize <= startInclusive && listSize >= endInclusive)))
		{
			DbcAssertionError.throwNew(new IllegalArgumentException("Expected list size to be between <" + startInclusive + "> and < " + endInclusive + "> but was <" + listSize + ">"), this.message);
		}

		return result();
	}

	public  ListCondition(T subject);

}