public SubLListListIterator acquireSubLListListIterator(SubLList list, int start, int end) {
   SubLListListIterator iter = null;
   if (list.isArrayBased()) {
     iter = (SubLListListIterator) sublArrayListListIteratorPool.acquire();
   } else {
     iter = (SubLListListIterator) sublConsListListIteratorPool.acquire();
   }
   iter.init(list, start, end);
   return iter;
 }
 public void releaseSubLListListIterator(SubLListListIterator iter) {
   if (iter == null) {
     return;
   }
   if (iter.isArrayBased()) {
     sublArrayListListIteratorPool.release(iter);
   } else {
     sublConsListListIteratorPool.release(iter);
   }
 }
 public final void resetPoolItem(Object item) {
   ((SubLListListIterator) item).reset();
 }