DimensionIterator iterates over an index. For example, using Jython for brevity:
{@code
 ds= zeros(15,4,2)
 ds[:,:,:] has itertors that count of 0,...,14; 0,...,3; and 0,1
 ds[3:15,:,:]  uses a StartStopStepIterator to count off 3,4,5,...,14
 ds[3,:,:]  uses a SingletonIterator
 i1= [0,1,2,3]
 i2= [0,0,1,1]
 i3= [0,1,0,1]
 ds[i1,i2,i3]  # uses IndexListIterator
}true if there are more indices in the iteration
return the current index.
return the length of the iteration.
return the next index of the iteration