boolean processQueue() {
    boolean processed = false;
    MyReference<T> reference;
    //noinspection unchecked
    while ((reference = (MyReference<T>)myQueue.poll()) != null) {
      int index = reference.index;
      // list may have changed while the reference was dangling in queue
      if (index < myList.size() && reference == myList.get(index)) {
        nullizeAt(index);
      }
      processed = true;
    }
    if (myAlive < myList.size() / 2) {
      reduceCapacity();
    }
    return processed;
  }
boolean processQueue()