@Override
	public boolean hasNext() {
		if (mNextValid) {
			return true;
		}
		while (mIterator.hasNext()) {
			Object obj = mIterator.next();

			if (obj == null) {
				if (!mOmitNulls) {
					mNext = null;
					mNextValid = true;
					return true;
				}
			} else if (mContentClass.isInstance(obj)) {
				mNext = mContentClass.cast(obj);
				mNextValid = true;
				return true;
			}
		}
		return false;
	}