@Override
    public String toString() {
      // bug 37213: make sure toString is bullet-proof from escaped constructor
      StringBuilder sb = new StringBuilder();
      sb.append("<");
      sb.append(getClass().getName());
      sb.append(" ");
      sb.append(getProcessorId());
      if (members == null) {
        sb.append(" (null memebrs)");
      } else {
        sb.append(" waiting for ");
        sb.append(numMembers());
        sb.append(" replies");
        sb.append((exception == null ? "" : (" exception: " + exception)));
        sb.append(" from ");
        sb.append(membersToString());
      }
      sb.append("; waiting for ");
      sb.append(msgsBeingProcessed.get());
      sb.append(" messages in the process of being processed" + ">");
      return sb.toString();
    }
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/internal/cache/partitioned/StreamingPartitionOperation.java