public ISPO[] nextChunk(){
  if (!hasNext()) {
    throw new NoSuchElementException();
  }
  final ISPO[] ret;
  if (i == 0 && numStmts == stmts.length) {
    ret=stmts;
  }
 else {
    final int remaining=numStmts - i;
    ret=new ISPO[remaining];
    System.arraycopy(stmts,i,ret,0,remaining);
  }
  i=numStmts;
  return ret;
}

public ISPO [ ] nextChunk ( ) { if ( ! hasNext ( ) ) { throw new NoSuchElementException ( ) ; } final ISPO [ ] ret ; if ( i == 0 && numStmts == stmts . length ) { ret = stmts ; } else { final int remaining = numStmts - i ; ret = new ISPO [ remaining ] ; System . arraycopy ( stmts , i , ret , 0 , remaining ) ; } i = numStmts ; return ret ; }
returns the remaining statements .
