@Override
  public void ensureTheDataIsReadyToUse(@Nullable DataNode startNode) {
    if (startNode == null || startNode.isReady()) {
      return;
    }

    DeduplicateVisitorsSupplier supplier = new DeduplicateVisitorsSupplier();
    ((DataNode<?>)startNode).visit(dataNode -> {
      if (dataNode.validateData()) {
        dataNode.visitData(supplier.getVisitor(dataNode.getKey()));
      }
    });
  }
@Override
  public void ensureTheDataIsReadyToUse(@Nullable DataNode startNode)