code: public boolean hasNext( int windowSize, int increment )
  	{
  		if( windowSize <= 0 )
  		{
  			throw new IllegalArgumentException( "Window size must be positive." );
  		}
  
  		try
  		{
  			if( increment > 0 )
  			{
  				return windowSize == mBounds.suffix( mPosition ).prefix( windowSize ).length();
  			}
  			else
  			{
  				if( mPosition == 0 )
  				{
  					return windowSize == mBounds.suffix( - windowSize ).length();
  				}
  				else
  				{
  					return windowSize == mBounds.prefix( mPosition ).suffix( - windowSize ).length();
  				}
  			}
  		}
  		catch( Exception e )
  		{
  			return false;
  		}
  	}
docs: Check if next window of specified size is available.
  
  @param windowSize Size of window. May be smaller or larger than default window size.
  @param increment The increment by which to move the window at each iteration. Note that this
  method does not actually change the position. However, it checks the sign of the increment parameter to determine
  the direction of the iteration.
  @return True if window of specified size is available.
  @throws IllegalArgumentException Window size parameter was not positive.