public Iterable<Location> window( final int windowSize, final int increment )
	{
		final Location loc= this;

		//return iterable anonymous inner class
		return new Iterable<Location> ()
			{
				@Override
				public LocIterator iterator()
				{
					return new LocIterator( loc, windowSize, increment );
				}

			};
	}
public Iterable < Location > window ( final int windowSize , final int increment ) { final Location loc = this ; return new Iterable < Location > ( ) { @ Override public LocIterator iterator ( ) { return new LocIterator ( loc , windowSize , increment ) ; } } ; }
Enable a "sliding window" iteration over a location
to use with Java's "for" loop construct.
The returned helper object implements the Iterable interface; the windowSize and increment semantics are implemented
by an underlying LocIterator.
<br><br>
For example, given a location variable "loc":
<br>
<pre>
use window size of 3 and increment of +3
for( Location temp: loc.window( 3, 3 ))
{
at each iteration, temp will be the location of the next 3 symbols
}
</pre>

@param windowSize The number of symbols to get on each iteration.
@param increment The direction and number of symbols to advance at each iteration.
@return An anonymous iterable object to use with Java's for( ... ) loop construct.