private void tryGetNext()
		{
			if(_hasNext)
			{

				if(_current == null)
				{
					if(this._source.hasNext())
					{
						T item = this._source.next();
						try {
							if(this._predicate.evaluate(item))
							{
								this._current = item;
							}
							else
							{
								this._hasNext = false;
							}
						} catch (Exception e) {
							throw new IllegalStateException(e);
						}
					}
					else
					{
						this._hasNext = false;
					}

				}
			}

		}