if ( dimIndex < 0 )
{
// there is only converter[0]
// use it to map the current position
final RandomAccess< A > sourceRandomAccess = source.randomAccess( new FinalInterval( min, max ) );
sourceRandomAccess.setPosition( min );
mapSingle( sourceRandomAccess, converters.get( 0 ) );
return;
}
final int size = updateCurrentArrays();
min[ dimIndex ] = max[ dimIndex ] = currentPositions[ 0 ];
for ( int i = 1; i < size; ++i )
if ( currentPositions[ i ] < min[ dimIndex ] )
min[ dimIndex ] = currentPositions[ i ];
else if ( currentPositions[ i ] > max[ dimIndex ] )
max[ dimIndex ] = currentPositions[ i ];
final RandomAccess< A > sourceRandomAccess = source.randomAccess( new FinalInterval( min, max ) );
sourceRandomAccess.setPosition( min );
if ( size == 1 )
{
// there is only one active converter: converter[0]