}
if ( optimizable )
{
// System.out.println( "interval = " + Util.printInterval( interval ) );
final Interval sliceInterval = t.transform( new BoundingBox( interval ) ).getInterval();
// System.out.println( "transformed interval = " + Util.printInterval( sliceInterval ) );
if ( iterableSource.supportsOptimizedCursor( sliceInterval ) )
{
// check for FlatIterationOrder
boolean flat = FlatIterationOrder.class.isInstance( iterableSource.subIntervalIterationOrder( sliceInterval ) );