code: @Override
      public int indexOf(Object arg0) {
          int indexOf = allResults.indexOf(arg0);
          if ( indexOf >= 0 )
              return indexOf;
  
          while ( nextResultsAvailable() ) {
              indexOf = nextResults.indexOf(arg0);
              int size = allResults.size();
              moveNextResults();
              if ( indexOf >= 0 )
                  return indexOf + size;
          }
  
          return -1;
      }
docs: Returns the first index of the object given in the list. Additional
  results are loaded incrementally as necessary.