@NotNull
  @Override
  public Object getRootElement() {
    while (true) {
      Object root = myRootNode.get();
      if (root != null) return root;
      CoverageViewExtension viewExtension = myData.getCoverageEngine().createCoverageViewExtension(myProject, myData);
      Object newRoot = viewExtension.createRootNode();
      if (myRootNode.compareAndSet(null, newRoot)) {
        viewExtension.onRootReset();
        return newRoot;
      }
    }
  }
@NotNull
  @Override
  public Object getRootElement()