code: 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 );
  				}
  
  			};
  	}
docs: 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.