class BoundedArchive extends AbstractArchive {

	@Override
	public boolean addCheckedIndividuals(Collection<? extends Individual> c) {
		Set<Individual> set = new LinkedHashSet<>(c);
		set.removeAll(this);
		if (individuals.size() + set.size() > capacity) {
			throw new IndexOutOfBoundsException();
		}

		return super.addCheckedIndividuals(c);
	}

	@Inject public  BoundedArchive(int capacity);

}