public E next() {
		if (this.remaining <= 0) {
			return null;
		}
		
		while (this.elements[pos] == null) {
			++pos;
		}
		
		--this.remaining;
		
		@SuppressWarnings("unchecked")
		E result = (E) this.elements[this.pos++];
		return result;
	}