@Override
    protected boolean stillWaiting() {
      if (finishedWaiting) { // volatile fetch
        return false;
      }
      if (msgsBeingProcessed.get() > 0) {
        // to fix bug 37391 always wait for msgsBeingPRocessod to go to 0,
        // even if abort is true
        return true;
      }
      // volatile fetches
      finishedWaiting = finishedWaiting || abort || !super.stillWaiting();
      return !finishedWaiting;
    }
Overridden to wait for messages being currently processed: This situation can come about if a
member departs while we are still processing data from that member
geode-core/src/main/java/org/apache/geode/distributed/internal/streaming/StreamingOperation.java