public ExtendedSubSet(T min, T max) {
			if (min == null && max == null)
				throw new IllegalArgumentException();

			if (min != null && max != null
					&& localComparator.compare(min, max) > 0)
				throw new IllegalArgumentException("min > max");

			this.min = min;
			this.max = max;

			// add all elements that are strictly less than "max"
			range = AbstractExtendedSet.this.empty();
			if (min != null && max != null) {
				range.fill(min, max);
				range.remove(max);
			} else if (max != null) {
				range.add(max);
				range.complement();
			} else {
				range.add(min);
				range.complement();
			}
		}