code: public int indexOf(DownloadListener targetListener) {
          for (int index = 0; index < listenerList.length; index++) {
              final DownloadListener listener = listenerList[index];
              if (listener == targetListener) return index;
          }
  
          return -1;
      }
docs: Get the index of {@code targetListener}, smaller index, earlier to receive callback.
  
  @param targetListener used for compare and get it's index on the bunch.
  @return {@code -1} if can't find {@code targetListener} on the bunch, otherwise the index of
  the {@code targetListener} on the bunch.