void setText2(@NotNull SubTaskProgressIndicator subTask, @Nullable @NlsContexts.ProgressDetails String text) {
    if (text != null) {
      synchronized (myLock) {
        myText2Stack.put(subTask, text);
      }
      myParent.setText2(text);
    }
    else {
      String prev;
      synchronized (myLock) {
        myText2Stack.remove(subTask);
        prev = myText2Stack.isEmpty() ? null : myText2Stack.get(myText2Stack.lastKey());
      }
      if (prev != null) {
        myParent.setText2(prev);
      }
    }
  }
void setText2(@NotNull SubTaskProgressIndicator subTask, @Nullable @NlsContexts.ProgressDetails String text)